我虽然可以使用 /nexus/service/local/artifact/maven/resolve?r=releases&g=com.mycompany&a=myArtifact&v=LATEST
然后我读到了the difference between LATEST and RELEASE。
在Maven 3中,LATEST不再填充 - 确定
但是RELEASE只给了我最新发布的版本!
那么如何获取最高版本的工件呢?
我需要一些东西,它返回版本 2.1.3
任何线索?
这是来自Nexus的我的maven-metadata.xml:
<metadata>
<groupId>com.mycompany</groupId>
<artifactId>myartifact</artifactId>
<versioning>
<latest>1.0.4</latest>
<release>2.0.5</release>
<versions>
<version>1.0.0</version>
<version>1.0.1</version>
<version>1.0.2</version>
<version>1.0.4</version>
<version>1.0.5</version>
<version>1.0.6</version>
<version>1.0.7</version>
<version>2.0.0</version>
<version>2.0.1</version>
<version>2.0.2</version>
<version>2.0.3</version>
<version>2.0.4</version>
<version>2.1.0</version>
<version>2.1.1</version>
<version>2.1.2</version>
<version>2.1.3</version> <!-- released week ago -->
<version>2.0.5</version> <!-- released today -->
</versions>
<lastUpdated>20120531131959</lastUpdated>
</versioning>
</metadata>
答案 0 :(得分:0)
使用DefaultArtifactVersion中的代码从您可以使用compareTo()
排序的字符串创建版本实例。
代码在工件中
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-artifact</artifactId>
<version>3.0</version>
</dependency>
请注意,这并不总是有效。例如,commons-lang:commons-lang
的版本20030203.000129
比最新的2.6
旧,但排序更高。