java - 使用 wget 和 Nexus Rest API 进行奇怪的文件命名

标签 java rest maven wget nexus

我有一个脚本,可以使用 wget 通过 Nexus Rest API 从我们的 Nexus 存储库中提取 .war Artifact 。

我用 wget 访问的 URL 与此类似:

http://our.nexus.net:8081/nexus/service/local/artifact/maven/redirect?g=com.somecompany&a=SomeArtifact&v=1.0.0&r=releases&p=war

它在我们的开发环境中运行良好,并提取名为 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/

相关文章:

java - 关于文件 file = new File(路径)

java - 如何创建通用类以将 JPARepository 用于多个实体

java - Spring Thymeleaf 无法解析模板

javascript - 为 RESTful 服务编码 URI

ios - Web服务完成后的完成 block ?

java - REST 确保 GET 在通用后不起作用

java - 使用 Java 驱动程序获取 Mongo 实例的版本

api - 如何为Jira获取OAuth token

java - Maven 和 Gradle 之间的 Clover 代码覆盖行为不同