是否可以在 pom.xml 中指定镜像?例如,我想做一个我自己的回购,比如中央回购。我想禁用对中央存储库的请求,并向我自己的存储库发出所有请求。是否可以在 Maven 中禁用默认中央仓库?
问问题
24830 次
3 回答
15
在pom 中,不可能定义镜像条目,而且如果可以定义镜像(事实并非如此),那将是不好的做法。与pom 中的存储库定义类似(这是可能的,但被认为是不好的做法)。
这种事情的最佳解决方案是安装一个存储库管理器,它就像一个“自己的中央存储库”。
于 2012-08-22T15:00:38.613 回答
9
镜像不能在 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.1.1</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>
于 2018-04-11T17:59:26.083 回答
3
那是没有意义的。POM 文件不仅用于构建项目,还可以上传到共享存储库。现在想象你的 POM 最终出现在 Maven Central 上。当我将您的项目作为依赖项添加到我的项目之一时会发生什么?
更好的解决方案是使用Maven 代理服务器。
于 2012-08-22T15:14:54.157 回答