Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ArtifactoryMaven插件:如何在没有settings.xml的情况下解析私有artifactory的依赖关系_Java_Maven_Artifactory - Fatal编程技术网

Java ArtifactoryMaven插件:如何在没有settings.xml的情况下解析私有artifactory的依赖关系

Java ArtifactoryMaven插件:如何在没有settings.xml的情况下解析私有artifactory的依赖关系,java,maven,artifactory,Java,Maven,Artifactory,如何配置artifactorymaven插件来解析来自私有artifactory服务器的依赖关系 官方文件解释了如何发布: 通常,依赖项解析通过将服务器添加到my.m2/settings.xml并在其中指定凭据来实现。但是,在cloud Docker构建环境中,很难将settings.xml放在容器中。如果插件可以相应地配置,那就容易多了 Gradle Artifactory插件对此有明确的文档(请参阅依赖项解析): 原来Maven插件也有一个解析器配置选项。但它并没有在任何地方被记录在案。

如何配置artifactorymaven插件来解析来自私有artifactory服务器的依赖关系

官方文件解释了如何发布:

通常,依赖项解析通过将服务器添加到my.m2/settings.xml并在其中指定凭据来实现。但是,在cloud Docker构建环境中,很难将settings.xml放在容器中。如果插件可以相应地配置,那就容易多了

Gradle Artifactory插件对此有明确的文档(请参阅依赖项解析):

原来Maven插件也有一个解析器配置选项。但它并没有在任何地方被记录在案。这不起作用(Maven仍然不会尝试从Artifactory下载依赖项):


org.jfrog.buildinfo
人工maven插件
2.6.1
假的
${artifactory.context.url}
${artifactory.username}
${artifactory.password}
本地图书馆

您可以将Maven配置为通过需要修改settings.xml的Artifactory解析工件。您可以自动生成,也可以手动修改

jfrog docs提供了实现这一点的步骤

在Artifacts模块的artifactrepository浏览器中,选择setme-Up。在设置对话框中,在工具字段中设置Maven,然后单击“生成Maven设置”。现在可以指定要为Maven配置的存储库


选中“是”,但这就是问题所在。我需要将这个settings.xml传输到docker容器中,该容器在云环境中运行。这是可能的,也是我现在正在实施的解决方案。但我正在寻找一种不依赖于设置的方法。xml@AlexanderWeickmann你可以办理登机手续。它清楚地解释了如何手动覆盖内置存储库。因此,您可以在pox.xml或settings.xml中添加这些存储库是的。然后我的问题实际上归结为:如何不仅覆盖存储库,而且通过pom.xml提供必要的凭证。文档显示了如何添加settings.xml或pom.xml。但是凭证是通过in settings.xml提供的,我找不到任何方法通过pom.xml提供凭证?目前没有办法在pom.xml中提供凭证,并且有正当理由不允许这样做。您可以创建一个自定义插件,该插件将读取settings.xml,但这是一种推荐的方法。因此,在您的情况下,根据我的知识,在settings.xml中设置是唯一的方法。在Maven中处理存储库等的最佳方法是使用settings.xml。为什么这只是你的“变通办法”?
<plugin>
                <groupId>org.jfrog.buildinfo</groupId>
                <artifactId>artifactory-maven-plugin</artifactId>
                <version>2.6.1</version>
                <inherited>false</inherited>
                <configuration>
                    <resolver>
                        <contextUrl>${artifactory.context.url}</contextUrl>
                        <username>${artifactory.username}</username>
                        <password>${artifactory.password}</password>
                        <repoKey>libs-local</repoKey>
                    </resolver>
                </configuration>
</plugin>