有没有办法让Maven构建独立于网络连接?

Alc*_*sta 3 java continuous-integration build-process maven-2 nexus

我正在持续集成环境中工作,部分自动构建过程包括Maven托管项目的编译.

我想知道的是,是否有办法使Maven构建独立于网络连接.

目前我们需要在存储库中安装所有需要的jar,但问题是Maven尝试检查插件更新,如果最终连接断开,则会导致构建失败.

Ric*_*ler 5

您可以使用-o开关脱机运行,也可以将<offline> true <offline>添加到settings.xml.

值得指出的是,Maven可能会在离线运行时失败,如果它确定需要检查依赖项或插件更新.如果使用<updatePolicy> never </ updatePolicy>设置存储库,则可以避免这种情况,但是您需要定期强制更新(使用-U和/或-cpu).

如果您使用的是存储库管理器,则可以将存储库设置为外部存储库的镜像.这仍然涉及网络连接,但仅涉及内部网络(或者如果存储库管理器位于本地计算机上,则根本没有连接).

例如,此配置将所有中央呼叫重定向到我的开发箱上运行的本地Nexus服务器:

<mirrors>
  <mirror>
    <id>central-proxy</id>
    <mirrorOf>central</mirrorOf>
    <url>http://localhost/nexus/content/groups/public</url>
  </mirror>
</mirrors>
Run Code Online (Sandbox Code Playgroud)