0

我已经安装了一个 sonatype nexus 作为我的 maven repo。nexus 安装正在使用 Active Directory 对用户进行身份验证,并且匿名登录已关闭。

将工件上传到我的仓库的每个用户都必须使用唯一的用户名进行标识,因此 AD 集成。

使用此结构的常规方法是在POM.xmlDistribution Managemente 标记中设置,以便将工件发送到 nexus

 <distributionManagement>
    ...
    <repository>
      <id>deploymentRepo</id>
      <name>Internal Releases</name>
      <url>http://nexusserver:8081/nexus/content/repositories/releases</url>
    </repository>
    ...
  </distributionManagement>

在本地 repo 设置 ( ~/.m2/settings.xml) 中添加用户名/密码组合以登录到 nexus

<server>
  <id>deploymentRepo</id>
  <username>deployment</username>
  <password>deployment123</password>
 </server>

它对我来说非常有用,但我想要实现的是以某种方式在 nexus 中进行身份验证,而无需将用户密码放入本地存储库中。是否可以?

4

2 回答 2

0

您要达到什么目的:不要将密码存储为纯文本或用户每次运行 maven deploy 命令时都必须传递密码?

密码可以以加密形式存储,如此处所述

或者您可以尝试在命令行上传递密码,如下所示,但我没有尝试过:

mnv -Dpassword=deployment123 deploy
于 2012-05-16T18:26:34.840 回答
0

Nexus 2.1 将于 6 月发布,我们构建了一项新功能来支持安全身份验证,而无需在 settings.xml 中提供明文密码。

于 2012-05-24T11:24:43.500 回答