调用init方法失败;嵌套异常是java.lang.NoSuchMethodError:org.objectweb.asm.ClassWriter。<init> </init>

时间:2014-12-19 10:46:01

标签: java eclipse spring hibernate maven

这个错误我到处都看到但我仍然没有找到解决方案。 我正在使用Eclipse Luna,jdk6,Spring,hibernate(3.3.2 GA)和maven 3.2.3,我在glassfish 3.1.2服务器上运行应用程序,然后在服务器的日志中收到此错误:

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'stateMachineManager' defined in URL [jar:file:/C:/glassfish3/glassfish/domains/domain2/applications/moon-web-1.0/WEB-INF/lib/moon-commons-1.0.jar!/spring/context/orm/applicationContext-orm.xml]: Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cacheDAO': Injection of persistence dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in URL [jar:file:/C:/glassfish3/glassfish/domains/domain2/applications/moon-web-1.0/WEB-INF/lib/moon-commons-1.0.jar!/spring/context/orm/applicationContext-orm.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(Z)V

我发现这可能是由cglib(1.2_3)引起的,我已经用cglib-nodep(1.2_3)替换了它,并删除了已经提到的一些问题中提到的asm。我在部署时仍然收到相同的错误。

非常感谢任何帮助。提前谢谢。

编辑: glassfish抛出的原始错误如下,我只跟踪了第一个&#34;由&#34;对于上述错误:

 [#|2014-12-19T16:09:41.997+0100|SEVERE|oracle-glassfish3.1.2|com.sun.xml.ws.server.http|_ThreadID=21;_ThreadName=Thread-2;|WSSERVLET11 : échec de l'analyse du descripteur d'exécution : java.lang.ExceptionInInitializerError
java.lang.ExceptionInInitializerError

2 个答案:

答案 0 :(得分:0)

据我所知&#34; init&#34;方法用于在字节码中实现构造函数。所以我认为有一个错误的构造函数调用。没有ClassWriter构造函数接受boolean参数。请尝试使用最新的asm jar。

答案 1 :(得分:0)

所以我解决了这个问题。我注意到在我的glassfish服务器的日志文件中有一个错误,提到无法找到我对webservices的handlerchain的引用。谷歌搜索后,我发现这是一个在3.1.2.2版本的glassfish中报告的错误。因此解决方案就是升级服务器。我当前使用相应的jre7运行当前的glassfish 4.1并且我的应用程序已成功部署。 谢谢大家,我希望有一天能解决别人的问题!