Struts2 2.3.8 с соглашаемым плагином 2.3.8 не работает с hibernate 3.2.5(плагин netbeans fw)
Я хотел бы использовать плагин соглашения Struts2 (2.3.8) вместе с hibernate(плагин фреймворка netbeans 3.2.5), но существует конфликт перед двумя различными версиями asm.jar.
Hibernate отлично работает с struts2 fw, но когда я добавляю плагин конвенций, я получаю сообщение об ошибке:
java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(Z)V
- Hibernate 3.2.5 нуждается в asm.jar
- Соглашаемому плагину Struts2 требуется asm-3.3.jar
Для плагина соглашения IMHO нужен класс: ClassWriter, который находится в asm-3.3.jar, но смотрит на asm.jar.
- протестировано с Maven(нет конфликта, но не работает)
- проверено без Maven(не работает)
Есть ли решение для достижения этой цели, когда Hibernate 3.2.5 не может быть изменен на более высокую версию?
3 ответа
Одним из способов было бы обновить библиотеку плагинов hibernate asm.jar и asm-3.3.jar. Вам нужно проверить, есть ли у Hiberate особые проблемы, используя asm-3.3.jar.
Если это не сработает, то мало что могу придумать
- Modularize (переместить связанный с Hibernate класс как подпроект и ограничить библиотеку подпроектом)
- Если вышеупомянутое невозможно, то определите место в стеке вызовов для манипулирования кэшем загрузчика классов (откажитесь от загруженных классов и загрузите их из конкретного jar-файла и т. Д.) Лично это было бы больно поддерживать.
Если вы можете, попробуйте обновить Hibernate до последней версии, которая использует ту же версию библиотеки asm, что и Struts 2.3.8. Вы также можете попытаться исключить библиотеку asm из набора Hibernate - с Maven вы должны добавить раздел.
ИМХО проблема не в конфликте библиотек. я использую 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