我偶然发现同一项目在两台电脑上的不同行为。在两台机器上我运行命令mvn dependency:tree -X
但收到不同的结果。
在我收到的第一台机器上:
Apache Maven 3.2.2 (45f7c06d68e745d05611f7fd14efb6594181933e; 2014-06-17T06:51:42-07:00)
Maven home: C:\opt\apache-maven-3.2.2\bin\..
Java version: 1.6.0_45, vendor: Sun Microsystems Inc.
Java home: C:\Program Files\Java\jdk1.6.0_45\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 7", version: "6.1", arch: "x86", family: "windows"
...
[INFO] +- ru.lt:ul-client:jar:1.13:provided
[INFO] +- ru.lt:ip-client:jar:1.6:provided
在同一项目的另一台机器上我收到:
Apache Maven 3.2.2 (45f7c06d68e745d05611f7fd14efb6594181933e; 2014-06-17T17:51:42+04:00)
Maven home: D:\Max\app\apache-maven-3.2.2\bin\..
Java version: 1.6.0_45, vendor: Sun Microsystems Inc.
Java home: C:\Program Files\Java\jdk1.6.0_45\jre
Default locale: ru_RU, platform encoding: Cp1251
OS name: "windows 8", version: "6.2", arch: "amd64", family: "windows"
....
[INFO] +- ru.lt:ul-client:jar:1.13:provided
[INFO] | +- commons-httpclient:commons-httpclient:jar:3.1:provided
[INFO] | | \- commons-codec:commons-codec:jar:1.2:provided
[INFO] | \- org.springframework.ws:spring-ws:jar:1.5.2:provided
[INFO] | +- org.springframework:spring-core:jar:2.5.4:provided
[INFO] | \- org.springframework:spring-beans:jar:2.5.4:provided
[INFO] +- ru.lt:ip-client:jar:1.6:provided
[INFO] | +- org.slf4j:jcl-over-slf4j:jar:1.7.9:compile
[INFO] | +- org.slf4j:log4j-over-slf4j:jar:1.7.9:compile
[INFO] | \- ru.lt.config:config:jar:1.1:provided
在第二台 PC 上,提供的工件在依赖关系树中展开。
为什么?哪个 Maven 参数决定了为所提供的工件构建依赖树的行为?文件 settings.xml 在两台机器上是相同的。
问题涉及到this https://stackoverflow.com/questions/47880746/how-i-can-calculate-whole-list-of-artifacts-including-provided.