Maven 依赖项从经过身份验证的 Nexus 获取工件

ton*_*i07 5 dependencies artifact maven

我想下载一个位于封闭(经过身份验证)的 Nexus 上的 Jar。我想通过 Maven 来做到这一点,与技术无关(例如它可以与 Nexus 或 Artifcatory 一起使用)。

我发现了这个有趣的插件:https://maven.apache.org/plugins/maven-dependency-plugin/get-mojo.html,它适用于中央存储库或任何“开放”存储库上的工件。

我的命令是:

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/
Run Code Online (Sandbox Code Playgroud)

我收到错误:“未授权,ReasonPhrase:未经授权”。当然,想要得到这件神器,我必须要经过认证。我如何向该命令提供我的凭据?我的 Maven settings.xml 已包含此本地存储库的凭据,但该命令不会读取这些凭据(似乎合乎逻辑)。

谢谢!

Sla*_*ski 5

在您的中定义服务器标签~/.m2/settings.xml

...
  <servers>
    <server>
      <id>serverId</id>
      <username>login</username>
      <password>password</password>
    </server>
  </servers>
...
Run Code Online (Sandbox Code Playgroud)

serverId重要的是你必须在属性中使用相同的标签remoteRepositories,所以你应该运行:

mvn org.apache.maven.plugins:maven-dependency-plugin:2.4:get ... \
-DremoteRepositories=serverId::::http://nexus.test.local/...
Run Code Online (Sandbox Code Playgroud)

当然,您可以根据需要使用任何标签作为服务器/ID


归档时间:

查看次数:

4251 次

最近记录:

9 年,2 月 前