tomcat servlet的NoClassDefFoundError

时间:2015-02-17 21:17:57

标签: eclipse tomcat

我部署了一个Java EE Web项目,运行正常(project1)..

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

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

在运行项目时,它会为project1中的类提供类似NoClassDefFoundError的运行时错误。

我做错了吗?

1 个答案:

答案 0 :(得分:1)

看起来project2类路径中没有project1。尝试将project1编译为jar(我假设它现在是.war)并将jar放在类路径上。

War文件不是jars的库文件。它们具有将webapp打包在一个可分发文件中的特定目的。你的IDE显然足够聪明,可以进入战争,但这不是一个规则。

IMO最好的办法就是创建另一个项目,在这个项目中放置所有共享类并将其打包为jar(比如project3.jar)。然后,将project3作为project1project2的依赖关系,您将拥有一个干净,易读的结构。