maven项目离线编译和构建的三种方式总结

本文总结了在离线环境下使用Maven进行项目编译和构建的三种方法:1)通过在项目pom文件配置实现局部范围的离线编译;2)修改maven全局配置文件settings.xml;3)结合maven安装包和项目工程一起拷贝,实现无缝迁移。每种方法的优缺点及适用场景也进行了详细说明。

问题场景

项目开发测试是在互联网的,使用maven管理依赖库,自动从互联网上下载,如何将项目和依赖库移到内网环境,使用maven离线编译。

方法一:项目pom文件配置(局部范围)

  • 优点:依赖库和配置随项目工程目录拷贝,方便,任何一台机器只要装了maven和jdk既可以,执行maven package编译

  • 缺点:项目工程中需要配置以及拷贝依赖库,每个项目都得重新来

  • 适用:适用于离线环境下,无法联网或建立统一中央仓库的情况,特别是生产环境。

    具体配置:

    1.Win10拷贝用户目录下的C:\Users<username>.m2\整个目录(包括子目录repository)到项目工程目录<myproject_dir>
    2.修改项目工程目录下的maven配置文件pom.xml

<project.....

	<repositories>
    <repository>
      <id>myproject</id>
      <name>myproject Repository</name>
      <url>file://${project.basedir}/.m2/repository</url>
    </repository>
  </repositories>

  <pluginRepositories>
    <pluginRepository>
      <id>myproject</id>
      <name>myproject Repository</name>
      <url>file://${project.basedir}/.m2/repository</url>
    </pluginRepository>
  </pluginRepositories>
  
........
  1. 在<myproject_dir>目录下,执行mvn package 即可离线编译

方法二:修改maven全局配置文件settings.xml

适用于建立统一的本地仓库,另外影响当前主机所有mvn项目的构建过程,不仅仅是当前的项目,不用更改项目本身的pom.xml文件;

1. Win10 拷贝用户目录下的C:\Users\<username>\.m2\整个目录(包括子目录repository)到任意目录下</myproject/.m2/repository>
2. 安装mvn,修改mvn目录conf/settings.xml文件,指定本地仓库路径
  <localRepository>/myproject/.m2/repository</localRepository>
  <offline>true</offline>
3.直接在项目目录下执行mvn package命令

最佳方法三:maven安装包和项目工程集成一起拷贝(集成以上两种方式)

项目方便迁移内网,离线编译,可以将maven软件本身安装目录和项目目录一起拷贝,将本地.m2仓库拷贝到maven目录下,同时修改其settings.xml文件即可,做到无缝迁移。

优点:既不用在离线环境下安装maven软件,也不用下载依赖库,同时不用修改项目本身的pom文件,项目可以直接从互联网环境拷贝到离线的内网环境。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值