在一个pom.xml
我有:
<dependency>
<groupId>com.foo</groupId>
<artifactId>bar</artifactId>
</dependency>
没有<version>
元素。但是当我运行这个:
> mvn dependency:list
...
[INFO] com.foo:bar:jar:1.2.3.RELEASE:compile
它给了我一个版本,即1.2.3.RELEASE
。
Maven遵循什么规则来确定该版本?省略<version>
元素是什么意思?
在一<dependencyManagement>
节中,我包括一个模块,该模块定义了bar
该<dependencyManagement>
节的版本,即我的pom.xml
样子:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.foo</groupId>
<artifactId>qux</artifactId>
<version>1.2.3.RELEASE</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependency>
<groupId>com.foo</groupId>
<artifactId>bar</artifactId>
</dependency>
和pom.xml
所包含的模块qux
的版本1.2.3.RELEASE
是这样的:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.foo</groupId>
<artifactId>baz</artifactId>
<version>1.2.3.RELEASE</version>
</dependency>
</dependencies>
</dependencyManagement>
显然,<dependencyManagement>
各节是可传递的,因此该baz
模块中为该模块定义的版本已包含在我自己的模块中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句