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

时间:2012-08-22 11:07:07

标签: maven maven-2

是否可以在pom.xml中指定镜像? 例如,我想制作一个我自己的回购,如中央回购。我希望禁用中央仓库的请求,并将所有请求发送到我自己的仓库。 是否可以在Maven中禁用默认的中央仓库?

3 个答案:

答案 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