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