繁体   English   中英

如何防止Maven检查我未在settings.xml文件中列出的存储库中的更新?

[英]How can I prevent Maven from checking for updates from repositories that I don't list in my settings.xml file?

在我的settings.xml文件中,我列出了我希望Maven使用的存储库(请参阅下面的文件)。 这些存储库位于构建计算机中,我正在以这种方式工作,以防止在构建计算机中没有Internet连接时构建失败。

问题是Maven在构建期间自动在中央存储库(以及可能来自其他未列出的存储库)中查找更新。 有没有办法防止这种行为?

 ...
<profile>
  <id>myProfile</id>
  <repositories>
    <repository>
      <releases>
        <updatePolicy>never</updatePolicy>
      </releases>
      <snapshots>
        <updatePolicy>never</updatePolicy>
      </snapshots>
      <id>myRepo</id>
      <url>file://${my.home}/maven/.m2/repository</url>
      <layout>default</layout>
    </repository>
  </repositories>
  <pluginRepositories>
    <pluginRepository>
      <releases>
        <updatePolicy>never</updatePolicy>
      </releases>
      <snapshots>
        <updatePolicy>never</updatePolicy>
      </snapshots>
      <id>myRepo</id>
      <url>file://${my.home}/maven/.m2/repository</url>
      <layout>default</layout>
    </pluginRepository>
  </pluginRepositories>
</profile>
...

注意:使用离线选项(例如-o标志)对我来说不是一个选项。 我真正想要的是Maven只使用我在settings.xml文件中列出的存储库。

每个Maven项目都从Maven Super POM继承了中央存储库的配置。 您可以使用Maven的镜像功能将呼叫重定向到中央到您首选的存储库。 您可以通过向settings.xml添加一些配置来执行此操作,如下所示:

<settings>
...
  <mirrors>
    <mirror>
      <id>central-proxy</id>
      <mirrorOf>central</mirrorOf>
      <url>http://myrepository/releases</url>
    </mirror>
  </mirrors>
  ..
</settings>

此配置可以放在用户设置($ {user.home} /.m2 / settings.xml)或全局设置({$ M2_HOME} /conf/settings.xml)中。

将您想要的存储库设置为其他所有存储库的镜像。

更多细节: http//maven.apache.org/guides/mini/guide-mirror-settings.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM