Maven - 是否可以在 pom.xml 中指定镜像?

问题描述 投票:0回答:3

是否可以在pom.xml中指定镜像? 例如,我想创建一个自己的存储库,例如中央存储库。我想禁用对中央存储库的请求,并向我自己的存储库发出所有请求。 是否可以禁用 Maven 中的默认中央存储库?

maven maven-2
3个回答
17
投票

pom 中不可能定义镜像条目 此外,如果可以定义镜像(事实并非如此),这将是不好的做法。与 pom 中的存储库定义类似(这是可能的,但被认为是不好的做法)。

此类事情的最佳解决方案是安装一个

存储库管理器,它的作用就像“自己的中央存储库”。


15
投票
镜像不能在pom.xml中。但它可以添加到您的项目文件中。

使用maven 3.3.1+时,可以使用核心扩展

project-settings-extension加载项目设置,并将项目特定的镜像放入项目中的${basedir}/.mvn/settings.xml

中。

${basedir}/.mvn/extensions.xml


<extensions xmlns="http://maven.apache.org/EXTENSIONS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/EXTENSIONS/1.0.0 http://maven.apache.org/xsd/core-extensions-1.0.0.xsd"> <extension> <groupId>com.github.gzm55.maven</groupId> <artifactId>project-settings-extension</artifactId> <version>0.3.5</version> </extension> </extensions>

${basedir}/.mvn/settings.xml


<settings> <mirrors> <mirror> <id>id</id> <url>https://url-for-this-project/</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors> </settings>
    

3
投票
这没有道理。 POM 文件不仅仅用于构建项目,它们还可以上传到共享存储库。现在想象一下您的 POM 最终位于 Maven Central 上。当我将您的项目添加为我的项目之一的依赖项时会发生什么?

更好的解决方案是使用

Maven 代理服务器

© www.soinside.com 2019 - 2024. All rights reserved.