在Maven的2,是否有可能指定适用于所有的镜子,但允许故障转移到直接存储库?

StackOverflow https://stackoverflow.com/questions/2471031

  •  20-09-2019
  •  | 
  •  

我明白建立一个Maven镜,如下面的吸引力的部分:

<mirror>
  <id>nexus</id>
  <name>Maven Repository</name>
  <mirrorOf>*</mirrorOf>
  <url>http://server:8081/nexus/content/groups/public</url>
</mirror>

...是,文档状态:

  

您可以强制的Maven通过使其镜像所有存储库请求使用一个单一的存储库。

然而,这是同样表示由具有*镜设置在每个工作站的必须被迫要经过反射镜?

我问,因为我想每个工作站故障转移,直接连接到任何公共的资源,它知道在的Nexus无法解决依赖或插件的事件。 (在理想情况下,每个开发者必须根据需要添加额外的代理的存储库所需要的存取。然而,有时该访问不可用;有时Nexus的服务器停机;有时遭受Java堆误差)

这是“镜但继续并直接连接到公共回购”故障转移配置可能在Maven的2?它会在Maven的3'

有帮助吗?

解决方案

这是不可能在Maven 2中它可能会在Maven的3日后我们也考虑过在增加的Nexus这种可能性动态代理假象。底线是,大多数组织都希望在开发人员所使用的代理回购控制,因此该功能被证明是非常受欢迎的回购经理。

出于相同的原因,具有显影剂机直接落入访问回购管理器回购直接返回是不可取的。然后,你最终失去您获得代理缓存,共享,过滤等的所有优势。

其他提示

没有,没有故障转移模式。您可以从以往任何时候都到镜子<mirrorOf>*,!repository</mirrorOf>排除某些库,或者你可以有两个settings.xml文件的行为不同,使用--settings如果需要切换。

一个答案(隐在我的问题)是,这是不可能的设计。在此票据由Jason范ZYL 的末尾处的注释表示

  

在实镜不被检查,目的。该方法仓库管理工作,这些天将严重打破,如果我们开始做这个。

此配置是可能的。它的伟大工程,有一个艰难的情况,但,如果项目层次大,不是所有的孩子有相同的父,你必须在这个部分,甚至他们的劲歌复制。这意味着比项目,该项目宣布这个假中央是其他地方一样,那就是默认回购看,你的要求会在项目的POM适当的行家中心或其他申报资料库。 美中不足的是:你使用插件X - 也许并没有意识到它实际上 - 和插件X取决于神器Y,在它自己的POM具有回购申报.... >>>在代理所有请求依存关系没有控制关系

另一种选择是具有用于项目的额外的settings.xml和 “供应” 它$ MVN -s的settings.xml

第三备选方案是具有全球的settings.xml如下,并激活仅在需要时-P关系,原因而不假中央储存库令人惊讶地工作。

<settings>
    <mirrors>
        <mirror>
            <id>nexus</id>
            <name>nexus</name>
            <url>http://localhost:8082/nexus-webapp-1.6.0/content/groups/public</url>
            <mirrorOf>*</mirrorOf>
        </mirror>
    </mirrors>

    <profiles>
        <profile>
            <id>nexus</id>

                <repositories>
                <repository>
                    <id>central</id>
                    <url>http://central</url>
                    <releases>
                        <enabled>false</enabled>
                    </releases>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                </repository>
            </repositories>
            <pluginRepositories>
                <pluginRepository>
                    <id>central</id>
                    <url>http://central</url>
                    <releases>
                        <enabled>false</enabled>
                    </releases>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                </pluginRepository>
            </pluginRepositories>  
        </profile>
    </profiles>
    <activeProfiles>

    </activeProfiles>
</settings>

在另一个选项卡/窗口打开图像。 “在这里输入的图像描述”

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top