我想一起使用Struts2约定插件(2.3.8) 使用hibernate(netbeans框架插件3.2.5), 但两个不同之前存在冲突 asm.jar版本。
Hibernate与struts2 fw工作正常,但是当我添加convention插件时,我收到错误:
java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(Z)V
IMHO约定插件需要类:ClassWriter,它位于asm-3.3.jar中,但是 看着asm.jar。
当hibernate 3.2.5无法更改为更高版本时,是否有任何解决方案可以达到此目的?
答案 0 :(得分:0)
一个hack会更新hibernate插件库asm.jar和asm-3.3.jar。您需要使用asm-3.3.jar检查Hiberate是否存在特定问题。
如果这不起作用那么我能想到的一些事情
答案 1 :(得分:0)
如果可以,请尝试将Hibernate升级到最新版本,该版本使用与Struts 2.3.8相同版本的asm库。您也可以尝试从Hibernate集中排除asm库 - 使用Maven,您必须添加部分。
答案 2 :(得分:0)
恕我直言,问题不在图书馆冲突中。我正在使用Hibernate 3.2.5.ga
与Struts 2.3.7
仅使用asm
库。我在项目中使用的库(仅涉及Hibernate
和Struts
)是:
├── hibernate
│ ├── dom4j-1.6.1.jar
│ ├── ehcache-1.2.3.jar
│ ├── hibernate3.jar
│ ├── hibernate-annotations.jar
│ ├── hibernate-commons-annotations.jar
│ ├── hibernate-entitymanager.jar
│ ├── hibernate-tools.jar
│ ├── javassist.jar
│ ├── jdbc2_0-stdext.jar
│ └── jta.jar
├── struts-2.3.7
├── antlr-2.7.2.jar
├── asm-3.3.jar
├── asm-commons-3.3.jar
├── cglib-nodep-2.2.2.jar
├── commons-beanutils-1.8.0.jar
├── commons-collections-3.1.jar
├── commons-digester-2.0.jar
├── commons-fileupload-1.2.2.jar
├── commons-io-2.0.1.jar
├── commons-lang-2.5.jar
├── commons-lang3-3.1.jar
├── commons-logging-1.1.1.jar
├── freemarker-2.3.19.jar
├── ognl-3.0.5.jar
├── struts2-convention-plugin-2.3.7.jar
├── struts2-core-2.3.7.jar
├── struts2-fullhibernatecore-plugin-2.2.2-GA.jar
├── struts2-json-plugin-2.3.7.jar
└── xwork-core-2.3.7.jar