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

问题场景

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

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

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

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

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

    具体配置:

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

<project.....

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

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

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

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

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

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

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

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

你可能感兴趣的:(Java,maven)