В моя проект използвам както Hibernate, така и Jersey, има конфликт на библиотека с Hibernate, Jersey от връзката по-долу, получавам така
http://www.hildeberto.com/2008/05/hibernate-and-jersey-conflict-on.html
Jersey използва библиотеката ASM, която също се използва от Hibernate, но в различни версии. Hibernate използва версия 1.5.3, а Jersey използва 3.5.1. Голяма разлика! Не можем просто да изтрием старата версия и да поставим новата там, защото те са архитектурно различни. Версия 1.5.3 има пакет "attrs", докато 3.5.1 го няма, но има пакет "подписи". Пакетът ASM е необходим на пакета cglib, който е част от библиотеките на Hibernate. Ако премахнем този пакет, Jersey ще работи правилно, но Hibernate ще спре да работи. За да разрешите този конфликт, използвайте cglib-nodep.jar вместо cglib.jar и запазете ASM версия 3.x с Jersey. cglib-nodep.jar включва някои ASM класове, изисквани от cglib.jar, променяйки името на пакета, за да избегне конфликт на класове.
но след включване на asm-3.1.jar
, asm-attrs-2.2.3.jar
, asm-commons-3.1.jar
, asm-util-3.1.jar
, cglib-nodep-2.1_3sources.jar
получавам грешки:
ако поставя cglib 2.1.3
:
java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(Z)V
at net.sf.cglib.core.DebuggingClassWriter.<init>(DebuggingClassWriter.java:47)
at net.sf.cglib.core.DefaultGeneratorStrategy.getClassWriter(DefaultGeneratorStrategy.java:30)
ако поставя cglib-nodep-2.1_3-sources.jar
:
java.lang.ClassNotFoundException: net.sf.cglib.core.KeyFactory
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1701)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1546)
моля, някой избройте jar файловете, необходими за разрешаване на този проблем.