我有一个使用 Maven (m2e-wtp) 进行构建和依赖项管理的 Web 应用程序(Eclipse 的动态 Web 应用程序)。这个 Web 应用程序的 POM 引用了我工作区中的其他一些项目,这些项目恰好是使用 maven 构建的 eclipse 插件(使用 Tycho 构建),以及来自 Maven 存储库的其他第三方库。
当我从 CLI 运行 maven 时,一切正常。正如预期的那样,所有依赖项都包含在 WEB-INF/lib 目录中。
问题是当我尝试使用 Eclipse 运行项目时。我在 Eclipse 中配置的 Tomcat 服务器中运行该应用程序,但我的工作区中的引用项目并未添加到已部署的战争中。
我尝试将它们添加到部署程序集(在项目首选项下),并且效果很好,但是每次更新 maven 配置时,这些设置都会被 m2e 清除。我在一些地方读到我们不应该在那里手动添加条目,因为所有依赖项都应该由 m2e 管理......
问题是:当我从 Eclipse 运行它时,如何让 Eclipse 将工作区项目依赖项添加到我的 Web 应用程序的 WEB-INF/lib 中?
我正在使用 Eclipse J2EE 4.3.1 (Kepler SR1)。
我还尝试右键单击项目并选择导出 -> WAR 文件,但导出的 WAR 文件也不包含引用的工作区项目。我假设这个问题会影响这两种情况。
这非常烦人,这让我慢了很多..此时我必须每天多次将项目重新添加到部署程序集页面以保持运行...
更新:我在 POM 中添加为依赖项的工作区项目出现在项目属性下的引用项目列表中。但是当我在项目资源管理器中展开 Maven 依赖项时,列表中缺少工作区项目依赖项!仅显示 Maven 存储库中的那些。他们当地人似乎被默默地忽略了......