本文介绍了获得泽西和Hibernate一起工作?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有既要有新泽西州和Hibernate的项目。问题是他们都使用在幕后的JAR文件(asm.jar)的不兼容版本。我环顾四周谷歌和看来,它可能得到的Hibernate使用名为Javassist进行其他工厂,但是当我试图按照指示它属于持平。我仍然得到这些JAR文件之间的不兼容性。

I've got a project which requires both Jersey and Hibernate. Problem is they both use incompatible versions of a Jar file (asm.jar) under the covers. I've looked around Google and it appears that it's possible to get Hibernate to use another facility called Javassist, but when I try to follow the instructions it falls flat. I still get the incompatibility between these Jar files.

显然,从堆栈跟踪我使用的新泽西asm.jar是不符合一个Hibernate的兼容。如果我切换回asm.jar对Hibernate然后我州code失败。

Obviously, from the stack trace the asm.jar that I'm using for Jersey is not compatible with the one for Hibernate. If I switch back to the asm.jar for Hibernate then my Jersey code fails.

有没有人得到这个工作?或者,我只是停留在一个永久性的瓶子地狱?

Has anyone gotten this to work? Or am I just stuck in a permanent "Jar Hell"?

- 史蒂夫

P.S运行我的Hibernate的测试用例我的一个堆栈跟踪看起来是这样的:

P.S My stack trace from running one of my Hibernate test cases looks like this:

junit.framework.AssertionFailedError:异常的构造函数:testSurvey(java.lang.NoSuchMethodError:org.objectweb.asm.ClassWriter(Z)V
    在net.sf.cglib.core.DebuggingClassWriter(DebuggingClassWriter.java:47)
    在net.sf.cglib.core.DefaultGeneratorStrategy.getClassWriter(DefaultGeneratorStrategy.java:30)
    在net.sf.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:24)
    在net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:216)
    在net.sf.cglib.core.KeyFactory $ Generator.create(KeyFactory.java:145)
    在net.sf.cglib.core.KeyFactory.create(KeyFactory.java:117)
    在net.sf.cglib.core.KeyFactory.create(KeyFactory.java:108)
    在net.sf.cglib.core.KeyFactory.create(KeyFactory.java:104)
    在net.sf.cglib.proxy.Enhancer(Enhancer.java:69)
    在org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.getProxyFactory(CGLIBLazyInitializer.java:117)
    在org.hibernate.proxy.pojo.cglib.CGLIBProxyFactory.postInstantiate(CGLIBProxyFactory.java:43)
    在org.hibernate.tuple.entity.PojoEntityTuplizer.buildProxyFactory(PojoEntityTuplizer.java:162)
    在org.hibernate.tuple.entity.AbstractEntityTuplizer(AbstractEntityTuplizer.java:135)
    在org.hibernate.tuple.entity.PojoEntityTuplizer(PojoEntityTuplizer.java:55)
    在org.hibernate.tuple.entity.EntityEntityModeToTuplizerMapping.(EntityEntityModeToTuplizerMapping.java:56)
    在org.hibernate.tuple.entity.EntityMetamodel(EntityMetamodel.java:295)
    在org.hibernate.persister.entity.AbstractEntityPersister(AbstractEntityPersister.java:434)
    在org.hibernate.persister.entity.SingleTableEntityPersister(SingleTableEntityPersister.java:109)
    在org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:55)
    在org.hibernate.impl.SessionFactoryImpl(SessionFactoryImpl.java:226)
    在org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1294)
    在org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:859)
    在org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:669)
    在org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:126)
    在javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:51)
    在javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33)
    在com.upod.dao.SurveyDAOTest(SurveyDAOTest.java:39)
    在sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
    在sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    在java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    在junit.framework.TestSuite.createTest(TestSuite.java:58)
    在junit.framework.TestSuite.addTestMethod(TestSuite.java:280)
    在junit.framework.TestSuite(TestSuite.java:140)
    在org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestLoader.getTest(JUnit3TestLoader.java:102)
    在org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestLoader.loadTests(JUnit3TestLoader.java:59)
    在org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:445)
    在org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
    在org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
    在org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)

    在junit.framework.Assert.fail(Assert.java:47)
    在junit.framework.TestSuite $ 1.runTest(TestSuite.java:90)
    在junit.framework.TestCase.runBare(TestCase.java:130)
    在junit.framework.TestResult $ 1.protect(TestResult.java:106)
    在junit.framework.TestResult.runProtected(TestResult.java:124)
    在junit.framework.TestResult.run(TestResult.java:109)
    在junit.framework.TestCase.run(TestCase.java:120)
    在junit.framework.TestSuite.runTest(TestSuite.java:230)
    在junit.framework.TestSuite.run(TestSuite.java:225)
    在org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
    在org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    在org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
    在org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
    在org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
    在org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)

junit.framework.AssertionFailedError: Exception in constructor: testSurvey (java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.(Z)V at net.sf.cglib.core.DebuggingClassWriter.(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:216) 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.cglib.proxy.Enhancer.(Enhancer.java:69) at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.getProxyFactory(CGLIBLazyInitializer.java:117) at org.hibernate.proxy.pojo.cglib.CGLIBProxyFactory.postInstantiate(CGLIBProxyFactory.java:43) at org.hibernate.tuple.entity.PojoEntityTuplizer.buildProxyFactory(PojoEntityTuplizer.java:162) at org.hibernate.tuple.entity.AbstractEntityTuplizer.(AbstractEntityTuplizer.java:135) at org.hibernate.tuple.entity.PojoEntityTuplizer.(PojoEntityTuplizer.java:55) at org.hibernate.tuple.entity.EntityEntityModeToTuplizerMapping.(EntityEntityModeToTuplizerMapping.java:56) at org.hibernate.tuple.entity.EntityMetamodel.(EntityMetamodel.java:295) at org.hibernate.persister.entity.AbstractEntityPersister.(AbstractEntityPersister.java:434) at org.hibernate.persister.entity.SingleTableEntityPersister.(SingleTableEntityPersister.java:109) at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:55) at org.hibernate.impl.SessionFactoryImpl.(SessionFactoryImpl.java:226) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1294) at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:859) at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:669) at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:126) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:51) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33) at com.upod.dao.SurveyDAOTest.(SurveyDAOTest.java:39) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at junit.framework.TestSuite.createTest(TestSuite.java:58) at junit.framework.TestSuite.addTestMethod(TestSuite.java:280) at junit.framework.TestSuite.(TestSuite.java:140) at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestLoader.getTest(JUnit3TestLoader.java:102) at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestLoader.loadTests(JUnit3TestLoader.java:59) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:445) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)) at junit.framework.Assert.fail(Assert.java:47) at junit.framework.TestSuite$1.runTest(TestSuite.java:90) at junit.framework.TestCase.runBare(TestCase.java:130) at junit.framework.TestResult$1.protect(TestResult.java:106) at junit.framework.TestResult.runProtected(TestResult.java:124) at junit.framework.TestResult.run(TestResult.java:109) at junit.framework.TestCase.run(TestCase.java:120) at junit.framework.TestSuite.runTest(TestSuite.java:230) at junit.framework.TestSuite.run(TestSuite.java:225) at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)

推荐答案

有一个关于this有一个类似的问题页面

这篇关于获得泽西和Hibernate一起工作?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-18 19:43