gpt4 book ai didi

maven - 用于在 Maven 中查找兄弟模块之间的公共(public)依赖关系的工具?

转载 作者:行者123 更新时间:2023-12-04 02:21:26 26 4
gpt4 key购买 nike

我必须创建一个新的 maven 项目,旧项目迁移到 maven。所以我得到了这样的结构

parent
|
\-- project 1
|
\-- project 2
project 1project 2有大量的依赖关系,其中很多是彼此共同的。我想知道的,我在互联网上找不到, 是否有一个工具可以找到这些常见的依赖项,以便我可以将它们迁移到父 pom?

例如,如果我向这个工具提供两个带有类似元素的 pom
... PROJECT 1 POM
<dependencies>
<dependency>
<groupId>com.foo</groupId>
<artifcatId>A</artifactId>
<version>1.0.0</artifactId>
</dependency>
<dependency>
<groupId>com.foo</groupId>
<artifcatId>B</artifactId>
<version>1.0.0</artifactId>
</dependency>
</dependencies>
...

.. PROJECT 2 POM
<dependencies>
<dependency>
<groupId>com.foo</groupId>
<artifcatId>B</artifactId>
<version>1.0.0</artifactId>
</dependency>
<dependency>
<groupId>com.foo</groupId>
<artifcatId>C</artifactId>
<version>1.0.0</artifactId>
</dependency>
</dependencies>
...

我希望输出是
.. OUTPUT FROM COMPARING BOTH
<dependencies>
<dependency>
<groupId>com.foo</groupId>
<artifcatId>B</artifactId>
<version>1.0.0</artifactId>
</dependency>
</dependencies>
...

最佳答案

我不知道像您描述的那样工作的工具,但有一个简单的解决方法:

创建一个临时的第三个项目,并将 A 和 B 的所有依赖项复制到这个 pom.xml 中。而不是尝试使用 dependency:analyze-duplicate 查找重复项像这样的依赖插件目标:

mvn org.apache.maven.plugins:maven-dependency-plugin:2.8:analyze-duplicate

你会得到这样的东西
[INFO] ------------------------------------------------------------------------
[INFO] Building foobar 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:2.8:analyze-duplicate (default-cli) @ foobar ---
[INFO] List of duplicate dependencies defined in <dependencies/> in your pom.xml:
o junit:junit:jar

为了确保副本确实来自两个项目,您应该重复检查之前自己的单个项目。

关于maven - 用于在 Maven 中查找兄弟模块之间的公共(public)依赖关系的工具?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16485618/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com