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

2023-11-22

我有一个 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 运行 Web 应用程序时,如何使 Eclipse 将工作区项目依赖项添加到 Web 应用程序的 WEB-INF/lib 中?

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

我还尝试右键单击该项目并选择“导出”->“WAR 文件”,但导出的 WAR 文件也不包含引用的工作区项目。我假设这个问题会影响这两种情况。

这非常烦人,并且让我的速度减慢了很多。此时,我必须每天多次将项目重新添加到“部署程序集”页面才能保持运行......

UPDATE:我在 POM 中添加为依赖项的工作区项目出现在项目属性下的引用项目列表中。但是,当我在项目资源管理器中展开 Maven 依赖项时,列表中缺少工作区项目依赖项!仅显示 Maven 存储库中的内容。他们当地的人似乎被默默地忽视了......


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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

支持 Eclipse maven 的 Web 应用程序引用工作区项目,但在运行 Tomcat 服务器时不会部署这些项目 的相关文章

随机推荐