新版本 Hibernate 的 hibernate3-maven-plugin 依赖项
我想将 hibernate-3.5-1.Final 与此插件一起使用,这里我的依赖项应该是什么。它似乎正在拿起一组旧的罐子,但现在失败了。
<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)
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)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
我能够使用以下依赖项集(即所有 hibernate jar 的 3.5.1-Final)来实现此功能
I was able to get this working with the following set of dependencies (i.e. 3.5.1-Final for all hibernate jars)
很难说到底发生了什么,但事实是 2.2 版本。
hibernate3-maven-plugin
声明 hibernate-core 3.3.1.GA 和 hibernate-tools 3.2.3.GA 作为依赖项并进行编译反对这些版本。你尝试过更换它们吗?如果是,我认为你不能(特别是因为它们似乎引入了不兼容的更改)。话虽如此,这不应该阻止您将 hibernate-entitymanager-3.5.1-Final 声明为项目中的依赖项并让插件使用其他版本(这应该是默认行为)。
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).
我有类似的问题。
运行“mvn dependency:tree”后,我看到unitils-dbunit:3.1依赖于较旧的hibernate.jar...
将Hibernate库移至unitils依赖项之前解决了问题。顺序很重要。
祝你好运,
J。
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.
对于 Hibernate 3.6.0.Final 我设置插件如下:
For Hibernate 3.6.0.Final I setup the plugin as follows:
这个解决方案对我来说是最好的。只需添加一个依赖项,它将添加其余必要的依赖项:
此处的最新版本: http: //mvnrepository.com/artifact/org.hibernate/hibernate-entitymanager
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