1 maven安装配置

1.1 安装maven

1、Jenkins服务器安装maven
tar -xf apache-maven-3.6.2-bin.tar.gz -C /app/module
cd /app/module/
mv apache-maven-3.6.2/ maven

2、配置Java环境变量
代码程序需要JDK1.8
tar -xf jdk-8u171-linux-x64.tar.gz -C /app/module/
cd /app/module/
mv jdk1.8.0_171/ jdk1.8

注意此时jenkins服务器已经有了两个jdk
一个是启动jenkins的jdk11,一个是maven需要的环境jdk1.8,jenkins启动文件里面配置了JAVA_HOME为jdk11
配置环境变量
vim /etc/profile
export JAVA_HOME=/app/module/jdk1.8
export JRE_HOME=${JAVA_HOME}/jre
export MAVEN_HOME=/app/module/maven
export PATH=$PATH:${JAVA_HOME}/bin:${JRE_HOME}/bin:$MAVEN_HOME/bin
source /etc/profile

3、检查maven环境变量
mvn --version
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.

此时使用jenkin运行job,mvn命令是找不到的

Jenkins集成Maven_JAVA

1.2 配置maven

1、创建本地仓库目录
mkdir /app/repo  

2、修改配置文件中的仓库路径
vi /opt/maven/conf/settings.xml 
本地仓库改为:/root/repo/ 
  <localRepository>/app/repo</localRepository>
  
3、添加阿里云服务地址: 
    <mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>
</mirror>
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.

Jenkins集成Maven_maven_02

2 Jenkins集成Maven

2.1 全局工具配置关联JDK

Dashboard->系统管理->全局工具配置->JDK安装->新增JDK

Jenkins集成Maven_工具配置_03

当配置一个jdk时,创建job,配置的时候会默认,当创建两个以上jdk时,配置的时候会让你选择用哪个,可以根据不同项目jdk版本不同,配置多个

Jenkins集成Maven_maven_04

Jenkins集成Maven_工具配置_05

2.2 全局工具配置关联Maven

Dashboard->系统管理->全局工具配置->Maven安装->新增Maven

Jenkins集成Maven_maven_06

2.3 添加Jenkins全局变量

Dashboard->系统管理->系统配置->全局属性->环境变量

添加三个全局变量

JAVA_HOME、M2_HOME、PATH+EXTRA

Jenkins集成Maven_工具配置_07

此时运行job,控制台就可以正常执行mvn --version

Jenkins集成Maven_maven_08

3 Maven打包

构建->Build Steps->增加构建步骤->执行

Jenkins集成Maven_maven_09

如果可以把项目打成war包,代表maven环境配置成功

Jenkins集成Maven_maven_10

4 Maven打包报错处理

Jenkins集成Maven_JAVA_11

检查pom.xml中的classpath或者bootclasspath

Jenkins集成Maven_JAVA_12

Windows识别的分隔符是;,linux识别的分隔符是:

可以使用maven自带的变量${path.separator} 兼容 windows & linux