我可以在 Eclipse 中进行部分 Maven 工作区解析吗?

Can I have partial maven workspace resolution in eclipse?

我有 3 个项目 - ABC

A 依赖于 BC,我在 eclipse 中将 A 部署到 Tomcat。

我希望 A 使用 AB 的工作区版本进行部署。我不希望我的项目 C 的工作区副本被拾取(相反,我希望 ~/.m2/ 中的安装版本被拾取)。

我可以通过在 Eclipse 中关闭项目 C 来实现。但是,我想让项目 C 保持打开状态。

这可能吗?

您可以在项目 C 上执行 mvn install,并在 pom.xml 文件中使用封闭版本,假设为 1.0。这将在您的 ~/.m2 中留下 1.0 版本的项目 C 可交付成果。

确保项目 A pom.xml 和项目 B pom.xml 依赖于项目 C 的 1.0 版本。

例如,项目 A 和 B pom.xml:

...    
<dependency>
       <groupId>myproject</groupId>
       <artifactId>C</artifactId>
       <version>1.0</version>
    </dependency>
...

然后您只需将项目 C pom.xml 中的版本更改为 2.0,然后告诉 Eclipse 更新您所有的 Maven 项目。

项目 C pom.xml:

<project>
<modelVersion>4.0.0</modelVersion>
<groupId>myproject</groupId>
<artifactId>C</artifactId>
<version>2.0</version>
...

情况会是:

  • Eclipse A 项目依赖于 Eclipse B 项目和 ~/.m2/.../C/1.0/C.jar.
  • Eclipse B 项目取决于 ~/.m2/.../C/1.0/C.jar.
  • Eclipse C 项目打开但不在 tomcat 部署中。

通过这种方式,您可以随时调整 A 和 B 中的 Maven 依赖关系,以依赖于您的 C 开发版本,或者仅根据您的封闭版本 C.jar

保留它们