5

このプラグインと一緒にhibernate-3.5-1.Finalを使用したいのですが、ここでの依存関係はどうあるべきですか。古いjarセットを取得していて、現在失敗しているようです。

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>hibernate3-maven-plugin</artifactId>
                <version>2.2</version>
            </plugin>

編集1:

[INFO] class org.hibernate.cfg.ExtendedMappings has interface org.hibernate
.cfg.Mappings as super class
[INFO] --------------------------------------------------------------------
----
[INFO] Trace
java.lang.IncompatibleClassChangeError: class org.hibernate.cfg.ExtendedMap
pings has interface org.hibernate.cfg.Mappings as super class
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.ja
va:124)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
        at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at org.codehaus.classworlds.RealmClassLoader.loadClassDirect(RealmC
lassLoader.java:195)
        at org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClas
sRealm.java:255)
        at org.codehaus.classworlds.RealmClassLoader.loadClass(RealmClassLo
ader.java:214)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
        at org.hibernate.cfg.AnnotationConfiguration.createExtendedMappings
(AnnotationConfiguration.java:187)
        at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(Anno
tationConfiguration.java:277)
        at org.hibernate.cfg.Configuration.buildMappings(Configuration.java
:1206)
        at org.hibernate.ejb.Ejb3Configuration.buildMappings(Ejb3Configurat
ion.java:1226)
        at org.hibernate.ejb.EventListenerConfigurator.configure(EventListe
nerConfigurator.java:173)
        at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.
java:854)
        at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.
java:191)
        at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.
java:253)
4

5 に答える 5

4

次の一連の依存関係でこれを機能させることができました(つまり、3.5.1-すべての休止状態のjarの最終版)

                <dependencies>
                    <dependency>
                        <groupId>org.hibernate</groupId>
                        <artifactId>hibernate-core</artifactId>
                        <version>${hibernate-core.version}</version>
                    </dependency>

                    <dependency>
                        <groupId>org.hibernate</groupId>
                        <artifactId>hibernate-entitymanager</artifactId>
                        <version>${hibernate-entitymanager.version}</version>
                    </dependency>

                    <dependency>
                        <groupId>org.hibernate</groupId>
                        <artifactId>hibernate-annotations</artifactId>
                        <version>${hibernate-annotations.version}</version>
                    </dependency>

                    <dependency>
                        <groupId>org.hibernate</groupId>
                        <artifactId>ejb3-persistence</artifactId>
                        <version>3.3.2.Beta1</version>
                    </dependency>

                    <dependency>
                        <groupId>org.hibernate</groupId>
                        <artifactId>hibernate-tools</artifactId>
                        <version>${hibernate-tools.version}</version>
                    </dependency>
                </dependencies>
于 2010-04-30T03:53:18.507 に答える
2

何が起こっているのかを正確に言うのは難しいですが、実際にはバージョン2.2です。ofはhibernate-core3.3.1.GAhibernate-tools3.2.3.GAhibernate3-maven-pluginを依存関係として宣言し、これらのバージョンに対してコンパイルされます。それらを交換しようとしましたか?はいの場合、私はあなたができるとは思いません(特に彼らは互換性のない変更を導入しているようですので)。

そうは言っても、これはプロジェクトの依存関係としてhibernate-entitymanager-3.5.1-Finalを宣言し、プラグインに他のバージョン(デフォルトの動作)を使用させることを妨げるものではありません。

于 2010-04-29T18:56:43.297 に答える
1

同様の問題がありました。

「mvndependency:tree」を実行した後、unitils-dbunit:3.1が古いhibernate.jarに依存していることがわかりました...

[INFO] +- org.unitils:unitils-dbunit:jar:3.1:test
[INFO] |  +- org.unitils:unitils-core:jar:3.1:test
[INFO] |  |  +- commons-logging:commons-logging:jar:1.1:test
[INFO] |  |  +- commons-lang:commons-lang:jar:2.5:test (version managed from 2.3)
[INFO] |  |  \- ognl:ognl:jar:2.6.9:test
[INFO] |  +- org.unitils:unitils-database:jar:3.1:test
[INFO] |  |  +- org.unitils:unitils-dbmaintainer:jar:3.1:test
[INFO] |  |  |  \- org.hibernate:hibernate:jar:3.2.5.ga:test

unitils依存関係のにHibernateライブラリを移動すると、問題が解決しました。注文が重要です。

頑張って、J。

于 2010-07-09T05:23:13.660 に答える
1

Hibernate 3.6.0.Finalの場合、プラグインを次のようにセットアップします。

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>hibernate3-maven-plugin</artifactId>
    <version>2.2</version>
    <dependencies>
        <dependency>
            <groupId>xerces</groupId>
            <artifactId>xercesImpl</artifactId>
            <version>2.9.1</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>3.6.0.Final</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>3.6.0.Final</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>4.1.0.Final</version>
        </dependency>
        <dependency>
            <groupId>com.microsoft</groupId>
            <artifactId>sqljdbc4</artifactId>
            <version>3.0.1301</version>
        </dependency>
    </dependencies>
</plugin>
于 2011-06-15T15:49:49.767 に答える
1

このソリューションは私にとって最適です。1つの依存関係を追加するだけで、残りの必要な依存関係が追加されます。

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

最新バージョンはこちら:http://mvnrepository.com/artifact/org.hibernate/hibernate-entitymanager

于 2013-05-07T03:01:10.543 に答える