gpt4 book ai didi

带有用户 settings.xml 和项目特定 settings.xml 的 Maven

转载 作者:行者123 更新时间:2023-12-03 19:30:43 26 4
gpt4 key购买 nike

我有几个项目指向不同的内部存储库。一个项目的用户可能无法看到另一个项目的存储库,所以我需要一个特定于项目的 settings.xml对于每个项目。

Create project-specific Maven settings表示我可以通过创建 MVN_ROOT/.mvn/maven.config 来做到这一点和

--settings ./.mvn/settings.xml



然后将存储库信息放入 MVN_ROOT/.mvn/settings.xml .

这似乎有效,我可以将这些文件添加到 git,其他用户可以自动使用存储库。

但是,存储库需要验证,这要求 settings.xml包含类似的东西
...
<server>
<id>repo-proj-1</id>
<username>me</username>
<password>secret</password>
</server>
<server>
<id>repo-proj-2</id>
<username>my.name</username>
<password>secure</password>
</server>
...

显然,我不想将这些信息放入 git 存储库中。 ~/.m2/settings.xml是放置该信息的明显位置。但是,似乎我只能拥有一个用户设置文件,因为在我尝试构建时没有获取我的登录信息。

有没有办法同时使用这两个设置文件?

这需要在 Mac、Linux 和 Windows 上运行,比如 <xs:include>~/.m2/settings.xml</xs:include> (XML 包含,可能不是正确的语法)不会像 ~/.m2 那样工作在 Windows 上通常不是正确的位置。

我们使用的是 Maven 3,如果需要特定的最新版本,我们可以要求用户升级到该版本。

最佳答案

将 secret 视为环境变量怎么样?

<server>
<id>repo-proj-2</id>
<username>${user}</username>
<password>${pass}</password>
</server>

然后您可以通过构建工具设置它们:
mvn -s ./build/settings.xml -Duser=xxx -Dpass=xxx clean install

关于带有用户 settings.xml 和项目特定 settings.xml 的 Maven,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55125154/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com