1.准备工作
1)maven的安装运行以来Java环境,需要预先安装,具体Java安装方法可以参考我的另一篇博文:
linux下yum安装jdk1.8(rpm包)和tomcat-8.5
2)maven软件包下载地址:
https://mirrors.cnnic.cn/apache/maven/
3)本教程适用于以下系统环境 CentOS6.9_x64 CentOS7.5_x64
2.安装maven
1)下载软件包 20180921最新安装包版本3.5.4,下载二进制包,解压即可使用
mkdir -p /server/tools
cd /server/tools/
wget https://mirrors.cnnic.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz --no-check-certificate
2)解压安装maven软件包
tar -xf apache-maven-3.5.4-bin.tar.gz
mv apache-maven-3.5.4 /usr/local/maven
ln -s /usr/local/maven/bin/mvn /usr/bin/mvn # 与jenkins联合使用时,jenkins会到/usr/bin/下找mvn命令,如果没有回报错
ll /usr/local/maven/
ll /usr/bin/mvn
3)配置环境变量 复制代码
echo " ">>/etc/profile
echo "# Made for mvn env by fangliang on $(date +%F)">>/etc/profile
echo 'export MAVEN_HOME=/usr/local/maven'>>/etc/profile
echo 'export PATH=$MAVEN_HOME/bin:$PATH'>>/etc/profile
tail -4 /etc/profile
source /etc/profile
echo $PATH
复制代码 4)查看安装的mvn版本号
which mvn
mvn -version
3.配置maven私有库
cd /usr/local/maven/conf/
cp settings.xml settings.xml.ori
vim /usr/local/maven/conf/settings.xml
--------- setting标签里设置本地仓库的存储位置 ----------
<localRepository>/usr/local/maven/mavenlib</localRepository>
---------- mirror标签里配置Maven 镜像地址 --------------
<mirror>
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<name>mynexus</name>
<url>http://192.168.1.9:18081/repository/maven-public/</url>
</mirror>
------------------- 配置私服地址 ---------------------
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>nexus</id>
<name>Nexus</name>
<url>http://192.168.1.9:18081/repository/maven-public/</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<name>Nexus</name>
<url>http://192.168.1.9:18081/repository/maven-public/</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
------------------------------------------------
网络不好,也可以更换镜像源 :
<mirrors>
<!-- mirror
| Specifies a repository mirror site to use instead of a given repository. The repository that
| this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
| for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
|-->
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central,*</mirrorOf>
</mirror>
<mirror>
<id>repo1</id>
<mirrorOf>repo1</mirrorOf>
<name>maven central</name>
<url>http://repo1.maven.org/maven2/</url>
</mirror>
<mirror>
<id>spring</id>
<mirrorOf>spring-milestones</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>https://repo.spring.io/libs-snapshot/</url>
</mirror>
</mirrors>
4. jar包编译打包
Maven最主要的命令:mvn clean compile、mvn clean test、mvn clean package、mvn clean install。执行test之前是会先执行compile的,执行package之前是会先执行test的,而类似地,install之前会执行package。
mvn clean compile:clean告诉Maven清理输出目录target/,compile告诉Maven编译项目主代码
mvn clean test:执行src/test/main下面的test方法,在执行测试之前,会自动执行项目主资源处理、主代码编译、测试资源处理、测试代码编译等工作
mvn clean package:打包,使用默认打包类型jar,在打包前会执行编译、测试等操作。生产的jar文件位于target下面
mvn clean install:将项目输入的jar安装到了Maven本地仓库中
4.1 切换到pom.xml目录下,编译打包
# mvn clean && mvn compile && mvn package //偷懒,这里一行命令
如果maven项目更新pom.xml后,需要执行mvn update ,本地更新maven项目会自动更新jar包。