取消部署/部署战争后的Tomcat会产生NoClassDefFoundError:org.apache.xml.serializer.TreeWalker

时间:2014-08-08 09:49:18

标签: java maven tomcat

在部署之前部署完全正常的相同战争之后。我有这个例外:

java.lang.NoClassDefFoundError: org/apache/xml/serializer/utils/DOM2Helper
        at org.apache.xml.serializer.TreeWalker.<init>(TreeWalker.java:121)

它是 serializer-2.7.1.jar 的一部分,由maven管理。

似乎不知何故,undeploy / deploy过程搞乱了libs。知道怎么摆脱这个例外吗?现在解决方法只是在每次部署后重启服务器,但这并不好。也许我应该将lib添加到tomcat lib,或者新的JRE / JDK可以完成这项工作吗?

更新 Tomcat的/ lib中:

annotations-api.jar  catalina-storeconfig.jar  ecj-P20140317-1600.jar  jasper.jar       tomcat-api.jar     tomcat-i18n-es.jar  tomcat-jdbc.jar  tomcat-util-scan.jar  websocket-api.jar
catalina-ant.jar     catalina-tribes.jar       el-api.jar              jsp-api.jar      tomcat-coyote.jar  tomcat-i18n-fr.jar  tomcat-jni.jar   tomcat-util.jar
catalina-ha.jar      catalina.jar              jasper-el.jar           servlet-api.jar  tomcat-dbcp.jar    tomcat-i18n-ja.jar  tomcat-spdy.jar  tomcat-websocket.jar

任何人都有遇到此问题的经验吗?

2 个答案:

答案 0 :(得分:1)

请检查您的应用程序库和tomcat lib。看来你在两个地方有不同版本的同一个罐子。

答案 1 :(得分:1)

serializer-2.7.1.jar包含此课程。只需将其放入tomcat / lib并重新启动tomcat应用程序服务器 - &gt;解决了这个问题。真的不明白为什么application / lib不能做到这一点,但另一方面它是有效的!