Maven 2 最新nexus发布工件

Maven 2 最新nexus发布工件,maven-2,nexus,Maven 2,Nexus,我已经设置了一个Nexus存储库来存储我们构建的工件、第三方依赖项和自制的共享源代码头 我目前正在使用wget检索第三方依赖项和共享源文件头,以便在构建软件应用程序时使用(特定应用程序的源文件存储在单独的git存储库中) 当您使用wget时,您基本上必须知道您想要的工件的确切版本-您必须明确知道最新版本号是什么 有没有其他方法可以在不知道版本号的情况下从maven releases nexus存储库检索工件的最新版本 如果有一种方法可以使用wget而不是maven本身来实现这一点,那将是非常理想

我已经设置了一个Nexus存储库来存储我们构建的工件、第三方依赖项和自制的共享源代码头

我目前正在使用wget检索第三方依赖项和共享源文件头,以便在构建软件应用程序时使用(特定应用程序的源文件存储在单独的git存储库中)

当您使用wget时,您基本上必须知道您想要的工件的确切版本-您必须明确知道最新版本号是什么

有没有其他方法可以在不知道版本号的情况下从maven releases nexus存储库检索工件的最新版本


如果有一种方法可以使用wget而不是maven本身来实现这一点,那将是非常理想的,因为我不想仅仅为了从nexus下载工件而强迫用户安装apachemaven。

我认为仅使用curl无法做到这一点。你需要完成其他任务来实现你想要的

这是一种可能性:

您应该首先访问maven存储库元数据文件。(您可以在此处找到文档:)

例如,假设您想从maven central下载以下maven工件的最新版本:

groupId = javax
artifactId = javaee-api
下载以下文件:

其内容将类似于:


爪哇
JavaEEAPI
8
8
7
8
20170915063942
然后,您需要访问最新标记以检索最新版本

关于最新或发布标签的含义,文档说明如下:

latest String目录中的最新版本是什么,包括快照
release String目录中的最新版本是什么,仅限发布版本
您还应该在nexus存储库中找到这个文件,并且应该使用类似xmllint的东西来获得所需的值。例如:

curl http://central.maven.org/maven2/jx/javaee-api/maven-metadata.xml \
| xmllint --xpath "/metadata/versioning/latest/text()" -

取决于你到底想要什么

之后,您可以使用版本信息来组成您想要下载的工件的完整URL

希望这有帮助

干杯


Edu.

Nexus有一个REST API来搜索工件。请参阅Nexus的文档(您使用哪一版本的Nexus?)我使用的是Nexus 3 OSS。
curl http://central.maven.org/maven2/jx/javaee-api/maven-metadata.xml \
| xmllint --xpath "/metadata/versioning/release/text()" -