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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.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 通过本地pom禁用maven设置镜像_Java_Maven - Fatal编程技术网

Java 通过本地pom禁用maven设置镜像

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]<

在my maven settings.xml中,有以下代码段:

<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的输出放在问题中