借助Maven Wrapper 首先我们说说maven wrapper的使用场景
假设我们所在的团队同时维护多个项目,不同的项目使用的JDK版本不同,使用的maven版本也不同,那么为了支持多项目开发,为了构建运行效果一致,你可能需要在本地管理多个maven版本,这会非常繁琐,从而引出了maven wrapper来解决这个maven版本的管理问题。
版本一致性:通过在mvnw配置中指定 Maven 版本,确保所有开发人员和持续集成环境使用相同的maven版本。 简化批量安装:不需要预先安装maven,直接运行mvnw命令就如安装了mvn一样,从而简化了项目的初始设置和配置。 Maven Wrapper安装方式 maven-wrapper: 提供maven-wrapper.jar下载、安装和运行目标maven发行版。 maven-wrapper-distribution: 提供mvnw/mvnw.cmd脚本发行版, maven-wrapper-plugin: wrapper用于轻松将 Wrapper 安装到项目中的插件。 首先安装maven wrapper,默认情况下安装的是only-script版本,也就是精简版,不需要额外的maven-wrapper.jar。如果你需要安装source版本请使用-Dtype=source参数。 # 假设你的本地已经有了一个特定版本的maven,可以直接通过如下命令进行引入 mvn -N wrapper:wrapper # 当然也可以指定引入的maven版本信息 mvn -N wrapper:wrapper -Dmaven=3.6.1 检查是否安装成功,正常来讲是会出现一个mvnw和mvnw.cmd以及.mvn目录 [root@localhost maven-wrapper]# tree -fa . ├── ./.mvn │ └── ./.mvn/wrapper │ └── ./.mvn/wrapper/maven-wrapper.properties ├── ./mvnw └── ./mvnw.cmd 2 directories, 3 files 修改maven-wrapper.properties定义的路径地址,因为用的是官方地址可能由于墙的问题无法进行下载,我这边采用MinioS3的地址来提前下好相关版本的maven包进行上传。 wrapperVersion=3.3.1 distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.1/apache-maven-3.6.1-bin.zip # 正常修改distributionUrl的地址就可以了 distributionUrl=http://10.1.6.15:10240/software/apache-maven-3.6.1-bin.zip 正常能检测到相关的版本即表示成功
[root@localhost maven-wrapper]# ./mvnw --version Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-05T03:00:29+08:00) Maven home: /root/.m2/wrapper/dists/apache-maven-3.6.1/5256b4e Java version: 1.8.0_391, vendor: Oracle Corporation, runtime: /usr/local/java/jre Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "4.18.0-372.9.1.el8.x86_64", arch: "amd64", family: "unix" 遇到小问题 如果大家在构建的过程中遇到了小问题可以看看小思路
...