java – 支持Eclipse maven的Web应用程序引用工作区项目,但在运行Tomcat服务器时未部署这些项目

我有一个Web应用程序(Eclipse的动态Web应用程序),它使用Maven(m2e-wtp)进行构建和依赖项管理.这个Web应用程序的POM引用了我工作区中的一些其他项目,这些项目恰好是使用maven构建的eclipse插件(使用Tycho构建),以及来自Maven存储库的其他第三方库.

当我从CLI运行maven时,一切正常.所有依赖项都按预期包含在WEB-INF / lib目录中.

问题是当我尝试使用Eclipse运行项目时.我在Eclipse中配置的Tomcat服务器中运行应用程序,但我工作区中引用的项目未添加到已部署的war中.

我尝试将它们添加到部署程序集(在项目首选项下),并且完美地工作,但每次更新maven配置时,m2e都会清除这些设置.我在几个地方读到我们不应该手动添加条目,因为所有依赖项都应该由m2e管理…

问题是:当我从Eclipse运行时,如何让Eclipse将工作区项目依赖项添加到我的Web应用程序的WEB-INF / lib中?

我正在使用Eclipse J2EE 4.3.1(Kepler SR1).

我还尝试右键单击项目并选择Export – > WAR文件,但导出的WAR文件也不包括引用的工作区项目.我假设这个问题影响了两个案例.

这非常令人讨厌,而且让我慢慢减速……此时我必须每天多次将项目重新添加到Deployment Assembly页面以保持它…

更新:我在POM中作为依赖项添加的工作空间项目出现在项目属性下的Referenced Projects列表中.但是,当我在Project Explorer中展开Maven依赖项时,列表中缺少工作区项目依赖项!只显示Maven存储库中的那些.他们当地人似乎默默地被忽视了……

最佳答案
我有类似的问题,因为我在eclipse之外创建了项目,并且他们导入了它.对我有用的是添加正确的项目方面:项目上下文菜单 – >属性 – >项目方面 – >动态Web模块(选择正确的版本).我使用的是Eclipse ADT(版本4.2.0),但是,为了避免多次安装,我对Android和其他类型的应用程序使用相同的eclipse.

转载注明原文:java – 支持Eclipse maven的Web应用程序引用工作区项目,但在运行Tomcat服务器时未部署这些项目 - 代码日志