我正在使用 Eclipse 4.4.2、Maven 和 Tomcat v7.0 开发网络应用程序。该应用程序包括一个
- AppSuite (
<packaging>pom</packaging>
) - AppModel(
<packaging>jar</packaging>
,有一些自动生成的类) - AppUserInterface(
<packaging>war</packaging>
,取决于AppModel)
AppUserInterface 和 AppModel 是 AppSuite 的模块。
我目前面临的问题是,如果我在 Eclipse 中打开所有三个项目并尝试在服务器上运行 AppUserInterface,所有内容都会移动到 tomcat webapps
文件夹正确(*.class
文件 AppUserInterface 和所有库,包括 AppModel.jar
)但 tomcat 抛出异常
java.lang.NoClassDefFoundError: com/app/model/ClassName
但是如果我在 eclipse 中关闭项目 AppModel,当我在服务器上运行 AppUserInterface 时,一切运行正常。
我怀疑如果 AppUserInterface 应该与本地 AppModel 一起工作,eclipse 会变得困惑。
有没有解决此错误的想法,以便我可以同时打开所有三个项目并仍然运行 AppUserInterface?
编辑 java.lang.NoClassDefFoundError: com/app/model/ClassName
类不是自动生成的类。
最佳答案
添加了赏金,2 分钟后找到了解决方案......
解决方案是本主题中rmtheis 的答案Strange "java.lang.NoClassDefFoundError" in Eclipse直到现在我才发现。一个简单的 Project->Clean...
以某种方式解决了这个问题。
关于java - 如果在 eclipse 中打开依赖项目,则 Web 项目不会在服务器上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31072028/