gpt4 book ai didi

curl - 使用 CURL 下载 Nexus 工件

转载 作者:行者123 更新时间:2023-12-03 14:34:28 27 4
gpt4 key购买 nike

我正在尝试使用 CURL 下载上传到 nexus 的工件。但我无法下载它。从命令提示符执行以下命令不会下载所需的 zip 文件,我使用的是 Nexus 管理员帐户

curl -X GET -u userid:pwd "http://nexusserver:8081/nexus/service/local/artifact/maven/redirect?r=Repo_Name&g=GroupID&a=artifactID&v=LATEST&p=zip" -O

我的 URL 格式正确吗?我尝试浏览 URL ( http://nexusserver:8081/nexus/service/local/artifact/maven/redirect?r=Repo_Name&g=GroupID&a=artifactID&v=LATEST&p=zip ),但在 Nexus Repository Manager 中找不到 HTTP 404。我正在使用 Nexus 版本 3.0.2-02。我是 nexus 的新手,非常感谢任何帮助。

谢谢

最佳答案

在较新版本的 nexus 中,您可以:

  • 使用 curl 通过新的 REST-API
  • 在您的联系中搜索 maven 工件
  • 解析 json-response 以提取下载链接
  • 使用curl下载神器

  • 在 bash 上,这归结为:
    $ curl -sSL -X GET -G "http://mynexus3.local/service/rest/v1/search/assets" \
    -d repository=maven-snapshots \
    -d maven.groupId=my.group.id \
    -d maven.artifactId=my-artifact \
    -d maven.baseVersion=1.0-SNAPSHOT \
    -d maven.extension=jar \
    -d maven.classifier=jar-with-dependencies \
    | grep -Po '"downloadUrl" : "\K.+(?=",)' \
    | xargs curl -fsSL -o my-artifact.jar

    第一个块将搜索您的工件并输出类似于
    {
    "items" : [ {
    "downloadUrl" : "http://mynexus3.local/repository/maven-snapshots/my/group/id/my-artifact/1.0-SNAPSHOT/my-artifact-1.0-20180821.085657-1-jar-with-dependencies.jar",
    "path" : "/my/group/id/my-artifact/1.0-SNAPSHOT/my-artifact-1.0-20180821.085657-1-jar-with-dependencies.jar",
    "id" : "foo",
    "repository" : "maven-snapshots",
    "format" : "maven2",
    "checksum" : {
    "sha1" : "bar",
    "md5" : "baz"
    }
    } ],
    "continuationToken" : null
    }

    然后你可以使用 grep 或类似的东西来提取下载 URL。
    最后,您再次将提取的 URL 传递给 curl 以下载您的工件。
    (使用 Nexus 3.13 测试)

    关于curl - 使用 CURL 下载 Nexus 工件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45539521/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com