我可以在 Eclipse 中进行部分 Maven 工作区解析吗?
Can I have partial maven workspace resolution in eclipse?
我有 3 个项目 - A
、B
和 C
。
A
依赖于 B
和 C
,我在 eclipse 中将 A
部署到 Tomcat。
我希望 A
使用 A
和 B
的工作区版本进行部署。我不希望我的项目 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
保留它们
我有 3 个项目 - A
、B
和 C
。
A
依赖于 B
和 C
,我在 eclipse 中将 A
部署到 Tomcat。
我希望 A
使用 A
和 B
的工作区版本进行部署。我不希望我的项目 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
保留它们