2013-05-03 8 views
5

Spring 3Hibernate 3.6アプリケーション用にpom.xmlファイルを設定しようとしました。 pom.xmlの関連部分は次のようになります。pom.xmlをhibernate 3.6用に設定してください

<dependency> 
     <groupId>mysql</groupId> 
     <artifactId>mysql-connector-java</artifactId> 
     <version>5.1.9</version> 
    </dependency> 

    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-core</artifactId> 
     <version>3.6.3.Final</version> 
    </dependency> 
    <dependency> 
     <groupId>org.javassist</groupId> 
     <artifactId>javassist</artifactId> 
     <version>3.17.1-GA</version> 
    </dependency> 
    <dependency> 
     <groupId>asm</groupId> 
     <artifactId>asm-all</artifactId> 
     <version>2.2</version> 
    </dependency> 
    <dependency> 
     <groupId>antlr</groupId> 
     <artifactId>antlr</artifactId> 
     <version>2.7.7</version> 
    </dependency> 

をそれにもかかわらず、私はExternal jarとして私のビルドパスに直接javassist.jarライブラリが含まれていない場合、私はjava.lang.ClassNotFoundExceptionを得続けます。 pom.xmlに何か問題がありますか?プロジェクトをビルドするときにこの依存関係をダウンロードしないためですか?

答えて

4

hibernate-coreの代わりにhibernate-entitymanagerを試してください。

<groupId>org.hibernate</groupId> 
    <artifactId>hibernate-entitymanager</artifactId> 
    <version>3.6.3.Final</version> 
</dependency> 

これはすべての必要な依存関係を推移的に含みます。この変更を行った後、依存関係階層を確認してください。

ところでMavenの中央にある休止状態の最新の利用可能バージョンは4.1.18

+0

だから、私は 'hibernate-entitymanager'に変更するならば、その依存関係の下にある他のすべての依存関係を削除できますか? – Dworza

+2

はい、entitymanagerは、core、javassisstなどをHibernateに追加します。一貫したバージョンになることに注意してください –

1

あるにjava.lang.ClassNotFoundExceptionも見つからなかったクラスの名前を言及する必要があります。

  1. まず、コピーしようとしているjarファイルがビルドパスにコピーされているかどうかを確認します。

  2. 1の場合は、javassist-3.17.1-GA.jarを展開して、例外のあるクラスファイルが存在するかどうかを確認します。

問題を解決する外部のjarは、そのバージョンを調べてみてください。おそらく、そのjarのMANIFEST.MFファイルから取得できます。

問題を引き起こしているものがリファクタリングされている可能性があります。

1
<dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-core</artifactId> 
     <version>4.0.1.Final</version> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-validator</artifactId> 
     <version>4.2.0.Final</version> 
    </dependency>   
    <dependency> 
     <groupId>org.hibernate.common</groupId> 
     <artifactId>hibernate-commons-annotations</artifactId> 
     <version>4.0.1.Final</version> 
     <classifier>tests</classifier> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate.javax.persistence</groupId> 
     <artifactId>hibernate-jpa-2.0-api</artifactId> 
     <version>1.0.1.Final</version> 
    </dependency>  
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-entitymanager</artifactId> 
     <version>4.0.1.Final</version> 
    </dependency>  
    <dependency> 
     <groupId>javax.validation</groupId> 
     <artifactId>validation-api</artifactId> 
     <version>1.0.0.GA</version> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-api</artifactId> 
     <version>1.6.4</version> 
    </dependency> 
    <dependency> 
     <groupId>org.jboss.logging</groupId> 
     <artifactId>jboss-logging</artifactId> 
     <version>3.1.0.CR2</version> 
    </dependency> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-log4j12</artifactId> 
     <version>1.6.4</version> 
    </dependency> 
関連する問題