我想下载一个关闭(认证)Nexus的Jar。我希望通过Maven做到这一点,与技术无关(例如,它可以与Nexus或Artifcatory一起使用)。
我找到了这个有趣的插件:https://maven.apache.org/plugins/maven-dependency-plugin/get-mojo.html,这适用于中央存储库中的工件,或任何" open"库中。
我的命令是:
mvn org.apache.maven.plugins:maven-dependency-plugin:2.4:get -Dartifact=com.test.job:job-template:1.0.0:jar:jar-with-dependencies -Ddest=/tmp/test.jar -DremoteRepositories=http://nexus.test.local/nexus/content/repositories/test-releases/
我收到错误:"未经授权,ReasonPhrase:未经授权"。当然,我必须通过身份验证才能获得这个神器。如何将此凭据提供给此命令? My Maven settings.xml已包含此本地存储库的凭据,但该命令未读取这些凭据(似乎是合乎逻辑的)。
谢谢!
答案 0 :(得分:3)
在~/.m2/settings.xml
...
<servers>
<server>
<id>serverId</id>
<username>login</username>
<password>password</password>
</server>
</servers>
...
serverId
非常重要,您必须在remoteRepositories
属性中使用相同的标签,因此您应该运行:
mvn org.apache.maven.plugins:maven-dependency-plugin:2.4:get ... \
-DremoteRepositories=serverId::::http://nexus.test.local/...
当然,您可以根据需要使用任何标签作为server / id