【发布时间】:2017-02-23 06:46:53
【问题描述】:
我有一个 web 项目 web 和一个 java 项目 common。
我将common 的源文件夹设置为web 的链接源,并在web 项目上使用common 中的类而没有错误。
但是当我在 tomcat 上部署 web 时,我总是得到 NoClassDefFoundError 异常。找不到common 中的某些类。当我检查部署的文件时,我发现WEB-INF/classes 中只有web 的类。但是common 和web 的类都被编译到Java Build Path 中设置的默认输出文件夹(web/target/classes)。如果我将所有这些类复制到WEB-INF/classes,一切正常。
我检查了部署程序集设置,但它已经正确。 /common(in common) 和 /src(in web) 都设置为部署路径 WEB-INF/classes。
我正在使用 MyEclipse 10 和 tomcat 7.0。我该如何解决这个问题?提前致谢。
【问题讨论】:
-
您是否尝试过让
common的输出实际上保留在common中,而不是尝试连接输出以自行组合?当 Deployment Assembly 已经准备好为您完成繁重的工作时,您已经组合了输出目录。 -
@nitind 感谢您的回复,但 AFAIK 使用“链接源”时,所有源文件都编译在一起,就像它们来自一个项目一样。所以这些类最终应该在相同的输出路径中。也许我没有明白你的意思......
标签: java eclipse tomcat noclassdeffounderror myeclipse