gpt4 book ai didi

java - 如何配置 settings.xml 从 Artifactory 私有(private)虚拟仓库中拉取?

转载 作者:搜寻专家 更新时间:2023-11-01 01:41:23 26 4
gpt4 key购买 nike

我是 Apache Archiva 的老手,最近转向了 Artifactory Pro。我一直在尝试在 Artifactory 中复制一个我在 Archiva 中实现虚拟私有(private)存储库的设置。最终结果应该是不同的团队可以访问他们自己团队的 Artifact 、远程存储库、默认本地存储库和公司范围的存储库。

但是,每当我配置我的 Maven settings.xml 以使用我的私有(private)虚拟存储库时,我只能下载 一些 依赖项,这些依赖项在 Maven Central 上可用并从中提取。如果我使用 Artifactory 的默认 settings.xml(libs-release、libs-snapshot、plugins-release、plugins-snapshot 并且没有虚拟存储库),那么我可以下载 Maven Central 上可用的以及我的项目所需的所有依赖项。

我在 Windows Server 2012 虚拟服务器中他们提供的 Tomcat 上运行 Artifactory v4.4.2。我没有在代理后面运行。我对 Archiva 没有这样的问题。

关于我的私有(private)虚拟存储库设置,我有一个名为“test”的虚拟存储库,它是一个“通用”包类型。该存储库包括以下存储库:

  • 远程 repo
  • 库发布
  • 库快照
  • 插件发布
  • 插件快照
  • 本地测试发布
  • 本地测试快照
  • 公司本地发布
  • 公司本地快照

列出的前 5 个存储库是 Artifactory 提供的默认虚拟存储库存储库。列出的最后 4 个存储库是本地存储库,它们属于通用包类型。

我想我应该用一面镜子。

这是我正在使用的示例 settings.xml(我的用户名和密码在我保存到我的 Maven conf 文件夹的生成的 settings.xml 中填充):

<?xml version="1.0" encoding="UTF-8"?>
<settings xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd" xmlns="http://maven.apache.org/SETTINGS/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<servers>
<server>
<username>${security.getCurrentUsername()}</username>
<password>${security.getEscapedEncryptedPassword()!"*** Insert encrypted password here ***"}</password>
<id>central</id>
</server>
<server>
<username>${security.getCurrentUsername()}</username>
<password>${security.getEscapedEncryptedPassword()!"*** Insert encrypted password here ***"}</password>
<id>snapshots</id>
</server>
</servers>
<mirrors>
<mirror>
<mirrorOf>*</mirrorOf>
<name>test</name>
<url>http://localhost:8082/artifactory/test</url>
<id>test</id>
</mirror>
</mirrors>
<profiles>
<profile>
<repositories>
<repository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>central</id>
<name>libs-release</name>
<url>http://localhost:8082/artifactory/libs-release</url>
</repository>
<repository>
<snapshots />
<id>snapshots</id>
<name>libs-snapshot</name>
<url>http://localhost:8082/artifactory/libs-snapshot</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>central</id>
<name>plugins-release</name>
<url>http://localhost:8082/artifactory/plugins-release</url>
</pluginRepository>
<pluginRepository>
<snapshots />
<id>snapshots</id>
<name>plugins-snapshot</name>
<url>http://localhost:8082/artifactory/plugins-snapshot</url>
</pluginRepository>
</pluginRepositories>
<id>artifactory</id>
</profile>
</profiles>
<activeProfiles>
<activeProfile>artifactory</activeProfile>
</activeProfiles>
</settings>

我无法通过我的虚拟存储库从 Maven Central 提取的 Artifact 示例是 poi-ooxml-schemas-3.10-FINAL.jar 或许多 Apache Maven 插件。只要删除镜像部分,我就可以从 Maven Central 下载所有依赖项。这对我来说毫无意义。我的虚拟存储库配置为包含 remote-repos 虚拟存储库,因此应该能够从 Maven Central 提取所有内容。

我做错了什么?

最佳答案

好吧,这里的实际情况似乎是 this is a bug这与预定义的 layout 有关通用虚拟存储库的。建议的解决方法(在修复此问题之前)是基于简单默认布局创建一个新的存储库布局。所以,而不是简单的默认布局:[orgPath]/[module]/[module]-[baseRev](-[fileItegRev]).[ext]

应该创建一个如下所示的新布局:[orgPath]/[module]/[module]-[baseRev].[ext]

创建这个新的存储库布局后,您可以将已定义的存储库布局更改为新创建的布局。

这将修复您提到的行为。

关于java - 如何配置 settings.xml 从 Artifactory 私有(private)虚拟仓库中拉取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35326481/

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