是否可以在pom.xml中指定镜像? 例如,我想制作一个我自己的回购,如中央回购。我希望禁用中央仓库的请求,并将所有请求发送到我自己的仓库。 是否可以在Maven中禁用默认的中央仓库?
答案 0 :(得分:9)
此类事情的最佳解决方案是安装repository manager,其行为类似于“自己的中央存储库”。
在pom it's not possible to define mirror entries中,如果镜子的定义可能是不可能的,那将是不好的做法。 repositories definition in pom's也是如此。
答案 1 :(得分:4)
镜像不能在pom.xml中。但它可以放在你的项目scm。
使用maven 3.3.1+时,使用核心扩展Script加载项目设置,并将项目特定镜像放入项目中的${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>
答案 2 :(得分:3)
这没有意义。 POM文件不仅可以构建项目,还可以上载到共享存储库。现在假设您的POM最终在Maven Central上。当我将项目作为依赖项添加到我的某个项目时会发生什么?
更好的解决方案是使用Maven proxy server。