종속성 목록을 계산할 때 maven dependency plugin이 잘못되었다고 생각합니다.maven dependency plugin은 의존성 버전을 무시합니까?
<?xml version="1.0" encoding="UTF-8"?>
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>mygroup</groupId>
<artifactId>combined</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>mygroup</groupId>
<artifactId>base1</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>mygroup</groupId>
<artifactId>base2</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
</project>
모두, base1 및 base2가 몬즈 랭에 따라 달라
base1 :
<?xml version="1.0" encoding="UTF-8"?>
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>mygroup</groupId>
<artifactId>base1</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.3</version>
</dependency>
</dependencies>
</project>
base2 : 결합
<?xml version="1.0" encoding="UTF-8"?>
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>mygroup</groupId>
<artifactId>base2</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
</dependencies>
</project>
이 3 개 프로젝트 가정 , 그러나 각각 다른 버전! 결합은 base1과 base2에 따라 다릅니다.
mvn dependency:list
을 호출하면 두 버전이 모두 사용되므로 버전 2.3과 2.6에서 base1, base2 및 commons-lang이 표시 될 것으로 예상됩니다. 실제 출력은 그러나 :
[INFO] The following files have been resolved:
[INFO] commons-lang:commons-lang:jar:2.3:compile
[INFO] mygroup:base1:jar:1.0-SNAPSHOT:compile
[INFO] mygroup:base2:jar:1.0-SNAPSHOT:compile
그것도 가장 높은 버전 번호와 공통 LANG을 사용하지 않고, 단지 하나가 처음 발견한다.
어떻게 이것을 피할 수 있습니까? 모든 의존성이 필요해.
commons-lang에 의존해야하는 코드를 변경하는 것이 가장 좋습니다. 2.3. 죄송합니다 ... – otonglet
@otonglet base1과 base2가 타사 모듈 인 경우이를 수행 할 수 없습니다. – radlan
@radlan'mvn dependency : list'와 ['mvn dependency : tree'] (https://maven.apache.org/plugins/maven-dependency-plugin/tree-mojo.html)을 혼동하는 것입니까? – nullpointer