0

我们的 Nexus 存储库配置为使用存储库目标权限:user1 可以部署到 com.company.group1,user2 可以部署到 com.company.group2,等等。

我们可以在 .m2/settings.xml 文件中同时拥有同一个 Maven 存储库的 user1 和 user2 凭据吗?如果其中之一的许可被拒绝,Maven 会尝试它们吗?

4

3 回答 3

2

我在 distributionManagement 中使用属性,例如-

  <distributionManagement>
    <repository>
      <id>releases</id>
      <url>${url.releases}</url>
    </repository>
    <snapshotRepository>
      <id>snapshots</id>
      <url>${url.snapshots}</url>
    </snapshotRepository>
    <site>
      <id>site</id>
      <url>${url.site}</url>
    </site>
  </distributionManagement>

我的 settings.xml 具有为目标存储库定义这些属性的配置文件。与settings.xml 中的匹配,因此您可以对<id>不同的用户名/密码/存储库组合使用不同的。在 settings.xml 中,设置 为部署所需的默认配置文件。当您需要切换到不同的配置文件时,您可以在命令行上执行此操作。<server><id><activeProfiles>

于 2012-08-21T05:29:24.487 回答
1

settings.xml据我所知,您不能在同一个文件中混合凭据;似乎这将是一个很大的安全漏洞。每个用户都应该在您的构建机器上拥有自己的登录名;然后每个人都有自己的.m2/settings.xml.m2/settings-security.xml文件(您需要后者来加密密码)。每个用户添加条目,其 id 与正在部署的项目<server>的部分中的 id 匹配。<distributionManagement>

于 2012-05-01T19:35:26.070 回答
1

例如,您可以为每个用户使用不同的配置文件,并将用户名和密码设置为这些配置文件中的属性。然后,您可以根据您目前想要使用的用户来激活配置文件。您还可以将配置文件之一设置为默认处于活动状态,这样您就不必在调用中始终使用配置文件名称。

另一种方法是为用户提供单独的 settings.xml 文件,并使用 -s 标志为 maven 调用指定所需的文件。

于 2012-05-01T19:44:01.547 回答