首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Sonatype Nexus REST Api获取最新版本

Sonatype Nexus REST Api获取最新版本
EN

Stack Overflow用户
提问于 2013-02-09 09:12:41
回答 4查看 42.1K关注 0票数 20

如何使用Sonatype REST Api获取最高版本的构建(最新的临时构建)?

代码语言:javascript
复制
http://MY_REPOSITORY/nexus/service/local/lucene/search?a=ARTIFACT_NAME&v=ARTIFACT_VERSION

将构建版本作为ARTIFACT_VERSION进行传递。传递v=LATESTv=latest不会返回最新版本。

EN

回答 4

Stack Overflow用户

发布于 2013-05-08 19:52:24

我遇到了同样的问题,并使用lucene搜索api像这样解决了它:

代码语言:javascript
复制
if [[ "${REPO}" == "snapshots" ]]; then
  version=$( curl --silent "http://${HOST}/nexus/service/local/lucene/search?g=${GROUP_ID}&a=${ARTIFACT}" | sed -n 's|<latestSnapshot>\(.*\)</latestSnapshot>|\1|p' | sed -e 's/^[ \t]*//' | tail -1 )
else
  version=$( curl --silent "http://${HOST}/nexus/service/local/lucene/search?g=${GROUP_ID}&a=${ARTIFACT}" | sed -n 's|<latestRelease>\(.*\)</latestRelease>|\1|p' | sed -e 's/^[ \t]*//' | tail -1 )
fi

curl -o ~/${ARTIFACT}-${VERSION}.zip -L -#  "http://${HOST}/nexus/service/local/artifact/maven/redirect?r=${REPO}&g=${GROUP_ID}&a=${ARTIFACT}&e=zip&v=${VERSION}"
票数 18
EN

Stack Overflow用户

发布于 2013-09-25 07:39:20

Lucene搜索API还允许对版本进行关键字搜索:

代码语言:javascript
复制
http://<nexus_repository>/nexus/service/local/lucene/search?a=ARTIFACT_NAME&v=1.0.*
票数 4
EN

Stack Overflow用户

发布于 2016-09-14 16:02:32

我有Linux操作系统,但无法访问REST API,因此我使用以下命令从Nexus获取最新版本的快照:

来自WSO2存储库的一个示例快照maven-metadata.xml:

代码语言:javascript
复制
$ curl -s "http://maven.wso2.org/nexus/content/repositories/snapshots/org/wso2/is/wso2is/maven-metadata.xml"
<?xml version="1.0" encoding="UTF-8"?>
<metadata>
  <groupId>org.wso2.is</groupId>
  <artifactId>wso2is</artifactId>
  <versioning>
    <latest>5.3.0-SNAPSHOT</latest>
    <release></release>
    <versions>
      <version>5.1.0-SNAPSHOT</version>
      <version>5.2.0-SNAPSHOT</version>
      <version>5.3.0-SNAPSHOT</version>
    </versions>
    <lastUpdated>20160914062755</lastUpdated>
  </versioning>
</metadata>

从maven-metadata.xml中的最新XML标记中提取:

代码语言:javascript
复制
curl -s "http://maven.wso2.org/nexus/content/repositories/snapshots/org/wso2/is/wso2is/maven-metadata.xml" | \
grep "<latest>.*</latest>" | \
sed -e "s#\(.*\)\(<latest>\)\(.*\)\(</latest>\)\(.*\)#\3#g"

从maven-metadata.xml内的版本XML标记中提取:

代码语言:javascript
复制
curl -s "http://maven.wso2.org/nexus/content/repositories/snapshots/org/wso2/is/wso2is/maven-metadata.xml" | \
grep "<version>.*</version>" | \
sort | uniq | tail -n1 | \
sed -e "s#\(.*\)\(<version>\)\(.*\)\(</version>\)\(.*\)#\3#g"

到今天2016年9月14日,这两个命令的结果是:

代码语言:javascript
复制
5.3.0-SNAPSHOT
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14783859

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档