1. 安装Maven
-
官网下载maven安装包
wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz
-
解压maven安装包,并移动至 /usr/local目录下
tar -zxvf apache-maven-3.5.4-bin.tar.gz mv apache-maven-3.5.4 /usr/local
-
配置环境变量
vim /etc/profile
文件结尾添加
#maven配置 MAVEN_HOME=/usr/local/apache-maven-3.5.4 export MAVEN_HOME export PATH=${PATH}:${MAVEN_HOME}/bin
立即生效
source /etc/profile
-
检查是否配置成功
mvn -v ###出现以下信息配置成功 Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T19:33:14+01:00) Maven home: /usr/local/apache-maven-3.5.4 Java version: 1.8.0_181, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64/jre Default locale: en_GB, platform encoding: UTF-8 OS name: "linux", version: "3.10.0-862.el7.x86_64", arch: "amd64", family: "unix"
2. 安装nexus
-
官网下载nexus安装包(OSS开源版,nexus是基于Jetty来运行的,安装包内嵌 )
wget --no-check-certificate https://sonatype-download.global.ssl.fastly.net/repository/repositoryManager/3/nexus-3.13.0-01-unix.tar.gz
-
解压nexus安装包,并移动至 /usr/local目录下
tar -zxvf nexus-3.13.0-01-unix.tar.gz mv nexus-3.13.0-01 /usr/local
-
启动nexus
cd /usr/local/nexus-3.13.0-01/bin ./nexus start
-
设置成服务
sudo ln -s /usr/local/nexus-3.13.0-01/bin/nexus /etc/init.d/nexus #查看nexus服务状态、启动服务、停止服务等 service nexus status/start/stop #设置为开机自启动/关闭等 chkconfig nexus on/off
访问地址http://10.137.214.16:8081,检查安装是否成功,默认用户名admin 密码admin123
3. IDEA发布与下载jar包
- repository类型介绍
proxy:是远程仓库的代理。比如说在nexus中配置了一个central repository的proxy,当用户向这个proxy请求一个artifact,这个proxy就会先在本地查找,如果找不到的话,就会从远程仓库下载,然后返回给用户,相当于起到一个中转的作用;
Hosted:是宿主仓库,用户可以把自己的一些构件,deploy到hosted中,也可以手工上传构件到hosted里。比如说oracle的驱动程序,ojdbc6.jar,在central repository是获取不到的,就需要手工上传到hosted里;
Group:是仓库组,在maven里没有这个概念,是nexus特有的。目的是将上述多个仓库聚合,对用户暴露统一的地址,这样用户就不需要在pom中配置多个地址,只要统一配置group的地址就可以了右边那个Repository Path可以点击进去,看到仓库中artifact列表。不过要注意浏览器缓存。
-
Maven settings.xml配置
<!--maven-public为仓库组,包括maven-central(中央仓库代理),maven-releases,maven-snapshots,maven-thirdparty(自己创建,存放第三方jar包)--> <mirrors> <mirror> <id>sac-maven</id> <mirrorOf>*</mirrorOf> <name>sac-maven</name> <url>http://10.137.214.16:8081/repository/maven-public/</url> </mirror> </mirrors> <!-- 使用公共的developer/password账号进行日常的发布管理 --> <servers> <server> <id>sac-releases</id> <username>admin</username> <password>admin123</password> </server> <server> <id>sac-snapshots</id> <username>admin</username> <password>admin123</password> </server> </servers> <!-- 这个配置决定了我们的Maven服务器开启snapshot配置,否则不能下载SNAPSHOTS的相关资源 --> <profiles> <profile> <id>nexus</id> <repositories> <repository> <id>sac-maven</id> <url>http://10.137.214.16:8081/repository/maven-public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> ... </repositories> ... </profile> </profiles>
-
IDEA中pom.xml配置(如有parent工程,直接在parent的pom.xml下面添加即可)
<!-- 设置deploy的地址,注意id与settings.xml中的id要对应 --> <distributionManagement> <repository> <id>sac-releases</id> <name>sac-releases</name> <url>http://10.137.214.16:8081/repository/maven-releases/</url> </repository> <snapshotRepository> <id>sac-snapshots</id> <name>sac-snapshots</name> <url>http://10.137.214.16:8081/repository/maven-snapshots/</url> </snapshotRepository> </distributionManagement>
IDEA中每个项目选择deploy可以自动发布到私服