我认为你不能只使用 curl 来做到这一点。你需要完成其他任务才能实现你想要的。
这是一种可能性:
您应该首先访问 maven 存储库元数据文件。 (您可以在此处找到文档:http://maven.apache.org/ref/3-LATEST/maven-repository-metadata/repository-metadata.html)
例如,假设您想从 maven Central 下载以下 maven 工件的最新版本:
groupId = javax
artifactId = javaee-api
下载以下文件:
http://central.maven.org/maven2/javax/javaee-api/maven-metadata.xml
它的内容会是这样的:
<metadata>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<versioning>
<latest>8.0</latest>
<release>8.0</release>
<versions>
<version>7.0</version>
<version>8.0</version>
</versions>
<lastUpdated>20170915063942</lastUpdated>
</versioning>
</metadata>
然后您将需要访问最新标签以检索最新版本。
文档中关于最新或发布标签的含义如下:
latest String What the latest version in the directory is, including snapshots
release String What the latest version in the directory is, of the releases only
你应该也可以在 nexus 存储库中找到这个文件,并且你应该使用类似 xmllint 的东西来获得你想要的值。例如:
curl http://central.maven.org/maven2/jx/javaee-api/maven-metadata.xml \
| xmllint --xpath "/metadata/versioning/latest/text()" -
或
curl http://central.maven.org/maven2/jx/javaee-api/maven-metadata.xml \
| xmllint --xpath "/metadata/versioning/release/text()" -
具体取决于你想要什么。
之后,您可以使用版本信息来组成您要下载的工件的完整 URL。
希望这会有所帮助。
干杯。
教育。