gpt4 book ai didi

Java 在 Tomcat 上部署 war 给出 NoClassDefFoundError

转载 作者:行者123 更新时间:2023-11-28 22:51:58 24 4
gpt4 key购买 nike

这是一个荒谬的场景,因为我完全不知道为什么会这样。

我已经创建了一个 Java servlet,(maven) 打包为 war 以部署在 Tomcat 服务器 上。它在 2 台测试机器上运行良好(相信我)但是当它在另一台机器上移动时,对该 api 的任何点击都会为特定类提供 NoClassDefFoundError

我检查了 webapps 文件夹中的解压项目目录,它包含该类。

这可能是什么原因?我已经尽我所能检查了所有内容,但没有任何线索。我知道我自己的问题不是很清楚,但这就是我的全部。

任何其他详细信息,如果需要,请在评论中提出。

编辑:(多一个细节)

Tomcat版本在这台新机器上升级了...以前的机器有Apache Tomcat/7.0.59。这有 Apache Tomcat/8.0.33。这可能是问题所在吗?

编辑:

我仍然不确定问题所在。经过数小时的努力寻找问题后,我重新配置了机器...重新安装了 jdkTomcat 并部署到这台机器上,它成功了。

最佳答案

我的猜测是所有的类都在那里,但是在 war 文件的某个地方,有一个类使用了另一个类,该类位于 native 工作机器的 classpath 中,但不是另一个. NoClassDefinition 不同于 ClassNotFound,因此该类可能存在(不应丢失)。不幸的是,听起来似乎有一个依赖项不在 native war 文件中,但仍然可以运行和编译,因为它在 native 机器 classpath 中。

检查您的 .bash_profile 或您导出类路径的任何地方,您可能会找到一些需要放入 WAR 中的 JAR 文件。

Why am I getting a NoClassDefFoundError in Java?

关于Java 在 Tomcat 上部署 war 给出 NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37131705/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com