7

我有一个使用 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 存储库中的那些。他们当地人似乎被默默地忽略了......

4

1 回答 1

0

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

于 2014-01-31T17:31:25.477 回答