Java Web项目没有';如果在eclipse中打开了依赖项目,则不能在服务器上运行

Java Web项目没有';如果在eclipse中打开了依赖项目,则不能在服务器上运行,java,eclipse,maven,tomcat,Java,Eclipse,Maven,Tomcat,我正在用Eclipse4.4.2、Maven和TomcatV7.0开发一个web应用程序。该应用程序由 AppSuite(pom) AppModel(jar,有一些自动生成的类) AppUserInterface(war,取决于AppModel) AppUserInterface和AppModel是AppSuite的模块 我目前面临的问题是,如果我在Eclipse中打开了所有三个项目,并且我尝试在服务器上运行AppUserInterface,那么所有内容都会正确地移动到tomcatwebap

我正在用Eclipse4.4.2、Maven和TomcatV7.0开发一个web应用程序。该应用程序由

  • AppSuite(
    pom
  • AppModel(
    jar
    ,有一些自动生成的类)
  • AppUserInterface(
    war
    ,取决于AppModel)
AppUserInterface和AppModel是AppSuite的模块

我目前面临的问题是,如果我在Eclipse中打开了所有三个项目,并且我尝试在服务器上运行AppUserInterface,那么所有内容都会正确地移动到tomcat
webapps
文件夹中(
*.AppUserInterface的.class
文件和所有libs,包括
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的anwser,我到目前为止还没有找到它。一个简单的
Project->Clean…
以某种方式解决了这个问题。

你在什么环境下工作?窗户?因为如果某些进程(如IDE)上有文件锁定,则在Windows上移动目录将不起作用。Windows,我已检查所有文件是否复制到
webapps
文件夹中,而
AppModel.jar
还包含所有需要的
*.class
文件。自动生成的类是如何创建的?通过maven的
generate sources
阶段的maven插件
pojobuilder-3.4.0
AppModel.jar
包含所有这些生成的类。我可能忘记提到的是,
NoClassDefFoundError
不是生成的类之一。当从Eclipse内部运行时,并不是所有Maven阶段都被调用。也许这有助于: