我有一个脚本,可以使用 wget 通过 Nexus Rest API 从我们的 Nexus 存储库中提取 .war Artifact 。
我用 wget 访问的 URL 与此类似:
它在我们的开发环境中运行良好,并提取名为 SomeArtifact-1.0.0.war
的 Artifact 。
但是,在我们的测试环境中,它正确地提取了 Artifact ,但为其指定了名称:
重定向?g=com.somecompany&a=SomeArtifact&v=1.0.0&r=releases&p=war
关于为什么它没有正确重命名有什么想法吗?
下面是 wget 命名错误时的示例输出。
--2015-05-11 11:22:12-- http://our.nexus.net:8081/nexus/service/local/artifact/maven/redirect?g=com.somecompany&a=SomeArtifact&v=1.0.0&r=releases&p=war
Resolving our.nexus.net... (IP)
Connecting to our.nexus.net|(IP)|:8081... connected.
HTTP request sent, awaiting response... 307 Temporary Redirect
Location: http://our.nexus.net:8081/nexus/service/local/repositories/releases/content/com/somecompany/SomeArtifact/1.0.0/SomeArtifact-1.0.0.war [following]
--2015-05-11 11:22:12-- http://our.nexus.net:8081/nexus/service/local/repositories/releases/content/com/somecompany/SomeArtifact/1.0.0/SomeArtifact-1.0.0.war
Reusing existing connection to our.nexus.net:8081.
HTTP request sent, awaiting response... 200 OK
Length: 22046212 (21M) [application/java-archive]
Saving to: "/tmp/deploy/redirect?g=com.somecompany&a=SomeArtifact&v=1.0.0&r=releases&p=war"
100%[======================================================>] 22,046,212 56.7M/s in 0.4s
2015-05-11 11:22:12 (56.7 MB/s) - "/tmp/deploy/redirect?g=com.somecompany&a=SomeArtifact&v=1.0.0&r=releases&p=war" saved [22046212/22046212]
当它正确命名时:
--2015-05-11 11:22:12-- http://our.nexus.net:8081/nexus/service/local/artifact/maven/redirect?g=com.somecompany&a=SomeArtifact&v=1.0.0&r=releases&p=war
Resolving our.nexus.net... (IP)
Connecting to our.nexus.net|(IP)|:8081... connected.
HTTP request sent, awaiting response... 307 Temporary Redirect
Location: http://our.nexus.net:8081/nexus/service/local/repositories/releases/content/com/somecompany/SomeArtifact/1.0.0/SomeArtifact-1.0.0.war [following]
--2015-05-11 11:22:12-- http://our.nexus.net:8081/nexus/service/local/repositories/releases/content/com/somecompany/SomeArtifact/1.0.0/SomeArtifact-1.0.0.war
Reusing existing connection to our.nexus.net:8081.
HTTP request sent, awaiting response... 200 OK
Length: 22046212 (21M) [application/java-archive]
Saving to: "/tmp/deploy/SomeArtifact-1.0.0.war"
100%[======================================================>] 22,046,212 56.7M/s in 0.4s
2015-05-11 11:22:12 (56.7 MB/s) - "/tmp/deploy/SomeArtifact.1.0.0.war" saved [22046212/22046212]
编辑:下面是一些附加信息。
开发和测试环境都有 wget 版本 1.12。
其运行的开发服务器运行的是 RedHat Enterprise Linux OS 版本 6.4。 测试服务器的版本是6.6,无法正常工作。
最佳答案
看起来问题是 RedHat Enterprise Linux 操作系统版本 6.4 与 6.6 中 wget 设置的差异。
我最终只是使用 wget 的 -O 标志来确保文件名是我想要的。
wget -O SomeArtifact.1.0.0.war "http://our.nexus.net:8081/nexus/service/local/artifact/maven/redirect?g=com.somecompany&a=SomeArtifact&v=1.0.0&r=releases&p=war"
关于java - 使用 wget 和 Nexus Rest API 进行奇怪的文件命名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30171846/