有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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

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

目前,我们已经在存储库中安装了我们需要的所有jar,但问题是Maven试图检查插件更新,如果最终连接中断,那么构建就会失败


共 (3) 个答案

  1. # 1 楼答案

    您可以尝试在本地网络中安装“构建工件存储库管理器”,如Archiva(http://archiva.apache.org/)。 它将起到镜像的作用,所以maven将尝试在您的本地网络而不是internet上下载并检查更新。Uou还应该构建您自己的工件,并在archiva上使用它

  2. # 2 楼答案

    您可以使用-o开关脱机运行,也可以添加<;离线>;正确<;离线>到您的设置。xml

    值得指出的是,如果Maven决定需要检查依赖项或插件更新,那么它在脱机运行时可能会导致构建失败。如果将存储库设置为<;更新策略>;从不</更新策略>;您可以避免这种情况,但需要定期强制更新(使用-U和/或-cpu)

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

    例如,此配置将所有对central的调用重定向到我的本地Nexus服务器(在我的开发框上运行):

    <mirrors>
      <mirror>
        <id>central-proxy</id>
        <mirrorOf>central</mirrorOf>
        <url>http://localhost/nexus/content/groups/public</url>
      </mirror>
    </mirrors>
    
  3. # 3 楼答案

    使用-o(脱机)选项