【问题标题】:Tomcat reporting IncompatibleClassChangeError - classpath problem?Tomcat 报告 IncompatibleClassChangeError - 类路径问题?
【发布时间】:2011-04-13 23:54:27
【问题描述】:

我正在尝试将应用程序部署到 Windows 服务器上的 Tomcat 7。我设置了一个本地副本,并且已经使用 Eclipse 进行了测试,没有任何问题,但是在生产服务器上我收到了 IncompatibleClassChangeError 消息。

当类路径出现问题时,这一直是本地服务器上的问题,但我在 Eclipse 内的服务器属性中配置了正确的类路径,一切运行正常。

我是 Tomcat 的新手,据我了解,它应该从我的 WEB_INFO/classes 目录中读取 jar 文件,但是当我的 jar 在那里时,应用程序根本不想加载。当我将它们移动到 $CATALINA_HOME/lib(我意识到这不是它们应该去的地方)时,应用程序加载正常,但报告了 IncompatibleClassChangeError。

为什么没有从 WEB-INF/classes 中读取我的 jars?是否有一些配置可以解决这个问题?

【问题讨论】:

    标签: eclipse tomcat servlets classpath


    【解决方案1】:

    Webapp 特定的 JAR 文件应该放在 Webapp/WEB-INF/lib,而不是 Webapp/WEB-INF/classes。 Tomcat/lib 应该只用于应用服务器特定的库和可选的 JAR 文件,这些文件应该在部署的 web 应用程序之间共享。

    IncompatibleClassChangeError 可能有更多内容,这可能有完全不同的原因。但首先尝试将 JAR 放在正确的位置。如果无效,请更新您的问题以包含详细信息。这至少让人觉得您将 不同 appserver make/version 的 JAR 文件放在类路径中。

    【讨论】:

    • 就是这样。谢谢。过于关注一个简​​单的问题会使情况变得更糟。
    猜你喜欢
    • 2016-04-03
    • 2011-03-25
    • 2023-03-26
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-12
    相关资源
    最近更新 更多