Cae*_*alf 11 dependencies maven
我必须创建一个新的maven项目,将旧项目迁移到maven.所以我得到了这样的结构
parent
|
\-- project 1
|
\-- project 2
Run Code Online (Sandbox Code Playgroud)
project 1并且project 2拥有大量的依赖关系,其中很多都是相互共同的.我想知道,我在互联网上找不到的是,如果有一个工具,我可以找到这些常见的依赖关系,所以我可以将它们迁移到父pom?
例如,如果我向这个工具提供两个带有元素的poms
... 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>
...
Run Code Online (Sandbox Code Playgroud)
我想要输出
.. OUTPUT FROM COMPARING BOTH
<dependencies>
<dependency>
<groupId>com.foo</groupId>
<artifcatId>B</artifactId>
<version>1.0.0</artifactId>
</dependency>
</dependencies>
...
Run Code Online (Sandbox Code Playgroud)
我不知道有一个工具可以像您所描述的那样工作,但有一个简单的解决方法:
创建一个临时的第三个项目,并将 A 和 B 中的所有依赖项复制到此 pom.xml 中。尝试使用dependency:analyze-duplicate dependency-plugin 目标查找重复项,如下所示:
mvn org.apache.maven.plugins:maven-dependency-plugin:2.8:analyze-duplicate
Run Code Online (Sandbox Code Playgroud)
你会得到这样的东西
[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
Run Code Online (Sandbox Code Playgroud)
为了确保重复项确实来自两个项目,您应该先重复检查单个项目。
| 归档时间: |
|
| 查看次数: |
1314 次 |
| 最近记录: |