Maven
以Centos 7.4,Maven 3.6.0 为例
安装
# 下载二进制文件压缩包http://mirrors.shu.edu.cn/apache/maven/maven-3/
# 或者直接下载然后通过ftp工具上传到服务器
wget http://mirrors.shu.edu.cn/apache/maven/maven-3/3.6.0/binaries/apache-maven-3.6.0-bin.tar.gz
# 解压
tar -xzvf apache-maven-3.6.0-bin.tar.gz
# 修改profile
vim /etc/profile
export M2_HOME=/opt/apache-maven-3.6.0 # 最后面添加
export PATH=$PATH:$JAVA_HOME/bin:$M2_HOME/bin # 修改PATH
# 重新初始化profile
source /etc/profile
# 查看配置结果
mvn -v
基本配置
<Maven安装目录>/conf/settings.xml
<!-- 修改本地maven存放路径,line.53 -->
<localRepository>${user.home}/.m2/repository</localRepository>
<!-- 使用华为存储仓库,line.155 -->
<mirrors>
<mirror>
<id>huaweimaven</id>
<name>Huawei Maven</name>
<mirrorOf>*</mirrorOf>
<url>https://mirrors.huaweicloud.com/repository/maven/</url>
</mirror>
</mirrors>
使用Nexus私服配置
Nexus搭建请查看
<Maven安装目录>/conf/settings.xml
<mirrors>
<mirror>
<id>nexus</id>
<name>Nexus</name>
<mirrorOf>*</mirrorOf>
<url>http://127.0.0.1:8081/repository/maven-public/</url>
</mirror>
<mirror>
<id>huaweimaven</id>
<name>Huawei Maven</name>
<mirrorOf>central</mirrorOf>
<url>https://mirrors.huaweicloud.com/repository/maven/</url>
</mirror>
</mirrors>
<!-- 配置仓库 -->
<profiles>
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>nexus</id>
<name>Nexus</name>
<url>http://127.0.0.1:8081/repository/maven-public/</url>
<layout>default</layout>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<name>Nexus</name>
<url>http://127.0.0.1:8081/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<!-- 激活nexus配置 -->
<activeProfiles>
<activeProfile>nexus</activeProfile>
</activeProfiles>
<!-- 配置服务器 -->
<servers>
<server>
<id>releases</id> <!-- 与pom.xml中配置的id一致 -->
<username>username</username>
<password>passoword</password>
</server>
<server>
<id>snapshots</id> <!-- 与pom.xml中配置的id一致 -->
<username>username</username>
<password>passoword</password>
</server>
</servers>
在项目
pom.xml
添加
<!-- pom.xml -->
<distributionManagement>
<snapshotRepository>
<id>snapshots</id> <!-- 需要与settings.xml文件中一致 -->
<name>Snapshot</name>
<url>http://127.0.0.1:8081/repository/maven-snapshots/</url> <!-- snapshots仓库地址 -->
</snapshotRepository>
<repository>
<id>releases</id> <!-- 需要与settings.xml文件中一致 -->
<name>Release</name>
<url>http://127.0.0.1:8081/repository/maven-releases/</url> <!-- releases仓库地址 -->
</repository>
</distributionManagement>
<uniqueVersion>false</uniqueVersion>
:是否分配一个包含时间戳的构建号,false:不分配;(Nexus 3.x中无效)
Nexus 3.x中snapshots版带构建号,使用时只需填写x.x.x-SNAPSHOT
,即可,自动引用最新的构建号版本
releases版不带构建号
pom.xml
部分说明
<!-- pom.xml -->
<groupId>groupId</groupId>
<artifactId>artifactId</artifactId>
<packaging>jar</packaging>
<version>1.0</version> <!--也可能为:<version>1.0-SNAPSHOT</version> -->
其中groupId和artifactId将会是发布到私服后的包路径;
packaging是打包方式;
version中是包的版本。如果version版本号包括-SNAPSHOT
则该包会被发布到spapshots仓库,否则会被发布到releases仓库。