【问题标题】:Tomcat after undeploy/deploy a war makes NoClassDefFoundError: org.apache.xml.serializer.TreeWalker取消部署/部署战争后的 Tomcat 使 NoClassDefFoundError: org.apache.xml.serializer.TreeWalker
【发布时间】:2014-08-08 09:49:18
【问题描述】:

部署相同的战争之后,部署之前完全没问题。我得到了这个例外:

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管理。

似乎取消部署/部署过程以某种方式破坏了库。知道如何摆脱这个异常吗?现在的解决方法只是在每次部署后重新启动服务器,但这并不好。也许我应该将 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

有人遇到过这个问题吗?

【问题讨论】:

    标签: java maven tomcat


    【解决方案1】:

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

    【讨论】:

    • 更新了问题,看来这不是问题。
    【解决方案2】:

    serializer-2.7.1.jar 包含此类。只需将其放入 tomcat/lib 并重新启动 tomcat 应用程序服务器 -> 即可解决此问题。不太明白为什么应用程序/lib 无法做到这一点,但这种方式是可行的!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-14
      • 2018-08-30
      • 1970-01-01
      • 1970-01-01
      • 2012-11-27
      • 1970-01-01
      相关资源
      最近更新 更多