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
作为 project1
和 project2
的依赖项,您将拥有一个干净、清晰的结构。
我部署了一个 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
作为 project1
和 project2
的依赖项,您将拥有一个干净、清晰的结构。