通常,我在我的 Maven 中配置了以下镜像 settings.xml
<mirror>
<id>internal-repository</id>
<url>http://build.idaho.local/wtp_repository</url>
<mirrorOf>*</mirrorOf>
</mirror>
我的理解是这个镜像会阻止 Maven 从互联网下载依赖项,即它只会在这个内部存储库中查找它们。
但是,每当我想添加一个不在此内部存储库中的依赖项时,我必须注释掉上面的文本并将以下内容添加到项目的
pom.xml
<repository>
<id>internal-repository</id>
<url>http://build.idaho.local/wtp_repository</url>
</repository>
当我进行这些更改时,Maven 将检查本地存储库中的依赖关系,如果未找到,则将它们从 Internet 下载到本地存储库。一旦我有了我需要的依赖项,我就可以将我的配置改回来。
有没有办法获得我想要的行为 - 始终检查内部 repo ,然后是公共(public)(互联网) repo - 无需添加
<repository>
给每个项目的pom.xml
?理想情况下,我想在
settings.xml
中指定此存储库一次。 ,但似乎只能在那里配置镜像。
最佳答案
您可以尝试将 maven 配置为仅将镜像用于中央存储库或排除某些 id 标识的存储库。
<mirror>
<id>internal-mirror</id>
<url>http://build.idaho.local/wtp_repository</url>
<mirrorOf>central</mirrorOf>
</mirror>
或者
<mirror>
<id>internal-mirror</id>
<url>http://build.idaho.local/wtp_repository</url>
<mirrorOf>*,!internal-repository</mirrorOf>
</mirror>
示例改编自 maven settings和 guide to mirror settings .
关于maven-2 - maven 仓库镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4972288/