I would like to use hibernate-3.5-1.Final along with this plugin, what should be my dependencies here. It seems to be picking up a older set of jars and failing right now.
<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)
I had a similar issue.
After running "mvn dependency:tree", I saw that unitils-dbunit:3.1 depended on an older hibernate.jar...
Moving the Hibernate libs before the unitils dependency solved the problem. Order matters.
Good luck, J.
It's hard to say what is happening exactly but the fact is that the version 2.2. of
hibernate3-maven-plugin
declares hibernate-core 3.3.1.GA and hibernate-tools 3.2.3.GA as dependencies and is compiled against those versions. Did you try to replace them? If yes, I don't think you can (especially since they seem to introduce non compatible changes).Having that said, this shouldn't prevent you from declaring hibernate-entitymanager-3.5.1-Final as dependency in your project and let the plugin use other versions (which should be the default behavior).
For Hibernate 3.6.0.Final I setup the plugin as follows:
I was able to get this working with the following set of dependencies (i.e. 3.5.1-Final for all hibernate jars)
This solution is the best for me. Just add one dependency, and it will add the rest of necesary dependencies:
Latest version here: http://mvnrepository.com/artifact/org.hibernate/hibernate-entitymanager