1

实际上,我正在另一台远程机器上执行我的 Maven 代码。我的 Java 代码依赖于从 jFrog artifactory 下载的一些海关依赖项。我无法在每台机器上设置我的用户名和密码。有什么方法可以通过代码(即 pom.xml 或 cmd)来实现。例如:setting.xml

<settings>
    <servers>
        <server><id>central</id><username>USER_NAME</username><password>$USER_PWD</password></server>
        <server><id>snapshot</id><username>USER_NAME</username><password>$USER_PWD</password></server>
    </servers>    
</settings>
4

2 回答 2

1

如果您的问题是settings.xml在您的不同机器(如竹代理等)之间共享您的问题,您也可以使用:

mvn -s /path/to/settings.xml

的位置settings.xml与您的上下文不同;例如,如果你把 放在settings.xml旁边pom.xml,这将是:

mvn -s settings.xml clean install

我建议不要将它settings.xml放在与 相同的存储库中pom.xml,因为否则您会将密码放在您可能不想要的 GIT 存储库中。

如果您只想与您的个人计算机s共享此设置,您也可以使用 GIT:直接在 s 中创建一个存储库~/.m2,广告效果是您不应该触摸到 s 的路径localRepository(路径取决于操作系统)。

存储库应该包含一个.gitignore带有这个最小行的:

repository

这只是为了不在存储库中存储缓存的依赖项。

于 2018-08-10T23:50:21.397 回答
0

您所做的似乎与我的设置相似。在 中添加服务器凭据后settings.xml,只需将存储库添加为始终激活/运行的配置文件。像这样:

<profiles>
    <profile>
        <id>artifactory</id>
        <repositories>
            <repository>
                <snapshots>
                    <enabled>true</enabled>
                </snapshots>
              <id>central</id>
              <name>libs-release</name>
              <url>http://artifactory-url/libs-release</url>
            </repository>
            <repository>
                <snapshots>
                    <enabled>true</enabled>
                </snapshots>
                <id>snapshot</id>
                <name>libs-snapshot</name>
                <url>http://artifactory-url/libs-snapshot</url>
            </repository>
        </repositories>
    </profile>
</profiles>

<activeProfiles>
    <activeProfile>artifactory</activeProfile>
</activeProfiles>

我所做的只是将这个 settings.xml 复制粘贴到不同的机器上。只要网络可达(我使用vpn),那么我就可以连接到神器就好了。

如果这不是您想要的,请发表评论。

于 2018-08-10T23:32:28.017 回答