java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter - PullRequest
0 голосов
/ 16 мая 2011

Привет, я разрабатываю небольшое приложение, использующее hibernate2, и натолкнулся на исключение, которое читает java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter

Вот трассировка стека:

INFO: connection properties: {user=root, password=manel}
16 mai 2011 16:03:27 net.sf.hibernate.transaction.TransactionFactoryFactory buildTransactionFactory
INFO: Transaction strategy: net.sf.hibernate.transaction.JDBCTransactionFactory
16 mai 2011 16:03:27 net.sf.hibernate.transaction.TransactionManagerLookupFactory getTransactionManagerLookup
INFO: No TransactionManagerLookup configured (in JTA environment, use of process level read-write cache is not recommended)
16 mai 2011 16:03:28 net.sf.hibernate.cfg.SettingsFactory buildSettings
INFO: Use scrollable result sets: true
16 mai 2011 16:03:28 net.sf.hibernate.cfg.SettingsFactory buildSettings
INFO: Use JDBC3 getGeneratedKeys(): true
16 mai 2011 16:03:28 net.sf.hibernate.cfg.SettingsFactory buildSettings
INFO: Optimize cache for minimal puts: false
16 mai 2011 16:03:28 net.sf.hibernate.cfg.SettingsFactory buildSettings
INFO: Query language substitutions: {}
16 mai 2011 16:03:28 net.sf.hibernate.cfg.SettingsFactory buildSettings
INFO: cache provider: net.sf.hibernate.cache.EhCacheProvider
16 mai 2011 16:03:28 net.sf.hibernate.cfg.Configuration configureCaches
INFO: instantiating and configuring caches
Exception in thread "main" 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)
at net.sf.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:24)
at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:215)
at net.sf.cglib.core.KeyFactory$Generator.create(KeyFactory.java:145)
at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:117)
at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:108)
at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:104)
at net.sf.hibernate.impl.SessionFactoryImpl.<clinit>(SessionFactoryImpl.java:236)
at net.sf.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:791)
at hibernate.dao.SessionHibernate.rebuildSessionFactory(SessionHibernate.java:68)
at hibernate.dao.SessionHibernate.getSession(SessionHibernate.java:51)
at hibernate.dao.TimesheetDAO.addTimesheet(TimesheetDAO.java:74)
at TestHibernate.main(TestHibernate.java:14)

любая помощь, пожалуйста

Ответы [ 2 ]

3 голосов
/ 16 мая 2011

Вам нужна правильная версия asm jar на вашем classpath

0 голосов
/ 23 июля 2013

у вас есть конфликт с вашей библиотекой.hibernate использует cglib-xxxx.jar и использует asm-xxxx.jar .и есть возможность иметь несколько версий этих jar либо в вашем проекте, либо у других библиотек, которые вы используете, также может быть некоторая зависимость от какой-то другой версии, поэтому она конфликтует друг с другом.Вам необходимо удалить cglib-xxxx.jar и заменить его на cglib-nodep-xxxx.jar и использовать последний asm-xxxx.jar или просто попробовать поудаление asm-xxxx.jar из вашей зависимости от режима гибернации, так как cglib-nodep-xxx.jar будет искать другой последний asm-xxxx.jar в вашем проектеили библиотеки веб-сервера. cglib-nodep lib можно найти по ссылке http://sourceforge.net/projects/cglib/files/

...