tomcat 个 servlet 的 NoClassDefFoundError

NoClassDefFoundError for tomcat servlets

我部署了一个 Java EE Web 项目并且 运行 很好(项目 1)..

我创建了另一个项目 (project2) 并在 Web 部署程序集中添加了 project1..

我能够访问项目 1 中定义的所有 类,并且没有编译时错误..

虽然 运行 项目,它给出了运行时错误,例如项目 1 中的 类 的 NoClassDefFoundError ..

我做错了什么吗?

project2 类路径中似乎没有 project1。尝试将 project1 编译成一个 jar(我现在假设它是一个 .war)并将 jar 放在类路径中。

War 文件不像 jars 那样是库文件。它们具有将 Web 应用程序打包到一个可分发文件中的特定目的。您的 IDE 显然足够聪明,可以触及 war,但这不是规则。

IMO 你能做的最好的事情就是创建另一个项目,将所有共享 类 放入其中并将其打包为 jar(例如,project3.jar)。然后,将 project3 作为 project1project2 的依赖项,您将拥有一个干净、清晰的结构。