Я хотел бы использовать hibernate-3.5-1. Финал наряду с этим плагином, каковы должны быть мои зависимости здесь. Это, кажется, берет более старый набор банок и перестало работать прямо сейчас.
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>hibernate3-maven-plugin</artifactId>
<version>2.2</version>
</plugin>
EDIT1:
[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)
Мне удалось заставить это работать со следующим набором зависимостей (например, 3.5.1-Final для всех 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>
Трудно сказать, что именно происходит, но факт в том, что версия 2.2. из hibernate3-maven-plugin
объявляет hibernate-core 3.3.1.GA и hibernate-tools 3.2.3.GA как зависимости и скомпилирован с этими версиями . Вы пытались их заменить? Если да, я не думаю, что вы можете (тем более, что они, кажется, вносят несовместимые изменения).
При этом, это не должно помешать вам объявить hibernate-entitymanager-3.5.1-Final как зависимость в вашем проекте и позволить плагину использовать другие версии (что должно быть поведением по умолчанию).
У меня была похожая проблема.
После выполнения команды "mvn dependency: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
Перемещение libs Hibernate перед зависимостью unitils решило проблему. Порядок имеет значение.
Удачи, J.