我已经设置了一个Nexus存储库来存储我们构建的工件,第三方依赖项和自制的共享源代码头 .
我目前正在使用wget来检索第三方依赖项和共享源头,以便在构建我们的软件应用程序时使用(特定应用程序的源存储在单独的git存储库中) .
当您使用wget时,您基本上必须知道所需工件的确切版本 - 您必须明确知道最新版本号是什么 .
有没有另一种方法从maven发布nexus存储库中检索最新版本的工件而不知道版本号是什么?
如果有一种方法可以使用wget而不是maven本身,那将是理想的,因为我不想强迫用户安装apache maven只是为了从nexus下载工件 .
1 回答
我认为你不能只使用curl来做到这一点 . 您需要完成其他任务才能实现您的目标 .
这是一种可能性:
您应该首先访问maven存储库元数据文件 . (你会在这里找到文件:http://maven.apache.org/ref/3-LATEST/maven-repository-metadata/repository-metadata.html)
例如,假设您要从maven central下载最新版本的以下maven工件:
下载以下文件:
http://central.maven.org/maven2/javax/javaee-api/maven-metadata.xml
它的内容将是这样的:
然后,您需要访问最新的标签以检索最新版本 .
文档说明以下关于最新或发布标记的含义:
您应该在nexus存储库中找到此文件,并且应该使用类似xmllint的内容来获取所需的值 . 例如:
要么
取决于你想要什么 .
之后,您可以使用版本信息来组成要下载的工件的完整URL .
希望这可以帮助 .
干杯 .
埃杜 .