Java 通过本地pom禁用maven设置镜像
在my maven settings.xml中,有以下代码段:Java 通过本地pom禁用maven设置镜像,java,maven,Java,Maven,在my maven settings.xml中,有以下代码段: <mirrors> <mirror> <!--This sends everything to our company mirror --> <id>nexus</id> <mirrorOf>*</mirrorOf> <url>[company-mirror]<
<mirrors>
<mirror>
<!--This sends everything to our company mirror -->
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url>[company-mirror]</url>
</mirror>
</mirrors>
关系
*
[公司镜]
这会将所有内容发送到我们公司的镜像,如果它无法解决问题,我们将从maven存储库获取它
现在,我们还通过maven nexus从我们的一项技术供应商那里获得了bug修复。问题是我们公司的镜像不会自动查询此nexus,我可以在settings.xml中轻松提供以下镜像编辑:
<mirrors>
<mirror>
<id>[vendor-id]</id>
<mirrorOf>[vendor-mirror]</mirrorOf>
<url>[vendor-url]</url>
</mirror>
<mirror>[company-mirror-settings]</mirror>
</mirrors>
[供应商id]
[供应商镜像]
[供应商网址]
[公司镜像设置]
然后它会很好地进行查询,但我们不能对我们公司维护的构建服务器执行此操作,它只查询公司镜像
在我们本地的pom.xml/project中有没有一种方法可以在不接触任何外部设置的情况下实现这一点
我在pom.xml中尝试了以下内容,但没有成功:
<project>
...
<repositories>
<repository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>[vendor-id]</id>
<name>[vendor-name]</name>
<url>[vendor-url]</url>
</repository>
</repositories>
...
</project>
...
假的
[供应商id]
[供应商名称]
[供应商网址]
...
运行mvn clean安装时出现以下错误:
[ERROR] Failed to execute goal on project <project-name>: Could not resolve dependencies for project <project-name>:jar:1.2.0-SNAPSHOT: Coul
d not find artifact <vendor-dependency> in <company-mirror>
[ERROR]未能对项目执行目标:无法解析项目:jar:1.2.0-SNAPSHOT:Coul的依赖项
d在中找不到工件
镜像settings.xml中的定义允许重载默认的central
存储库以及POMs中定义的任何存储库。因此,如果构建服务器使用一个设置文件,将公司管理的存储库定义为*
,那么它将对每个POM定义的存储库使用该文件,并且基本上忽略这些定义
因此,应该修改生成服务器使用的settings.xml
,以便不是所有存储库都被镜像,或者应该将公司管理的存储库配置为镜像供应商的存储库
请Nexus管理员将代理添加到公司镜像提供服务的存储库组中的供应商url
,据我所知,您在问题末尾添加的代码片段应该有效。你把它放在哪儿了?(应该在
下)当Maven试图获取只能在该reportory上找到的工件时,您在Maven输出中观察到了什么,但是它在实现之前需要一些时间,如果我们可以在pom.xml中编辑它,这将非常有用。@KevinLH我已经把它放在标签下面了,我将编辑问题以澄清这一点。我还将把maven的输出放在问题中