文章目录
1 基础环境准备
JDK 1.8
Maven 3.6.0
安装nexus
1.1 JDK安装
- 下载JDK,我们选择jdk rpm安装包
- 安装jdk
#rpm方式安装路径在/etc/java中
[root@localhost ~]# rpm -i jdk-8u201-linux-x64.rpm
- 验证
1.2 Maven安装
- 安装Maven
#安装目录/usr/local/maven
[root@localhost maven]# tar -zxvf apache-maven-3.6.0-bin.tar.gz
- 修改Maven仓库地址
[root@localhost maven]# mkdir maven-repo
[root@localhost maven]# vim /usr/local/maven/apache-maven-3.6.0/conf/settings.xml
添加<localRepository>/usr/local/maven/maven-repo</localRepository>
如下代码
- 配置环境变量
[root@localhost maven]# cd /etc
[root@localhost etc]# vim profile
#set Maven environment vi /etc/profile
export MAVEN_HOME=/usr/local/maven/apache-maven-3.6.0
export PATH=${MAVEN_HOME}/bin:${PATH}
- 环境变量立即生效
[root@localhost etc]# source profile
- 验证
1.3 安装nexus
下载地址:https://www.sonatype.com/download-oss-sonatype
解压nexus-3.9.0-01-unix.tar.gz ,会出现nexus-3.9.0-01 和 sonatype-work 两个目录
修改配置
可以在nexus-default.properties文件中(位于/nexus-3.9.0-01/etc/目录下)修改WEB访问端口等信息,默认为8081端口;
防火墙放行8081端口;
nexus默认用户名和密码
用户名:admin
密码:admin123
启动&停止
进入到 nexus-3.9.0-01 -> bin目录下面:
./nexus start 启动nexus
./nexus stop 关闭nexus
访问
在浏览器下面的地址,IP换成nexus搭建的服务器IP地址即可
http://ip:8081
1.4 配置Nexus
私服工作原理:
找依赖包的流程: 首先在本地仓库中找,如果没命中,那么就找远程私服;远程私服的查找规则同样是先找host属性的私有库,然后再去找proxy属性的远程仓库;可以配置多个proxy;
Nexus仓库类型介绍
默认安装有以下这几个仓库,在控制台也可以修改远程仓库的地址,第三方仓库等。
- hosted(宿主仓库库) :存放本公司开发的jar包(正式版本、测试版本)
- proxy(代理仓库):代理中央仓库、Apache下测试版本的jar包
- group(组仓库):使用时连接组仓库,包含Hosted(宿主仓库)和Proxy(代理仓库)
配置下载依赖 setting.xml
上传jar包配置
对于中央仓库没有的jar包,需要我们自己将jar包发布到私服中去,其中jar包主要分为两类,
一类是本地自己开发供给项目组其余同事使用,这种直接配置项目的pom文件和maven的setting文件,之后deploy发布即可发布到;
另一类是第三方jar包,可以直接使用web页面上传并设置对应GAV即可;
本地maven开发的项目上传配置
1.maven的setting文件配置
这里要配置配置上传用户及仓库信息,我这里直接使用了admin用户,在nenus2.x中还内置了一个deployment/deployment123用户,在3.x该用户被移除了,这里可以自己配置角色和用户,我就直接使用admin用户了
<servers>
<server>
<id>maven-releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>maven-snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
2.项目中的pom文件配置
<distributionManagement>
<repository>
<id>maven-releases</id>
<name>Nexus Release Repository</name>
<url>http://192.168.34.249:8081/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>maven-snapshots</id>
<name>Nexus Snapshot Repository</name>
<url>http://192.168.34.249:8081/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
3.执行maven的deploy命令
这是myeclipse中上传本地项目jar到私服,IDEA中更为简单直接点击maven周期中的deploy即可
注意:
这里只有Snapshot的仓库上传成功,Release仓库并没有上传成功,这是因为版本号名称结尾有SNAPSHOT,默认以这个结尾是不会上传到Release仓库去的,去除就会上传到Release仓库且不会上传到快照仓库
Release仓库默认不支持重复发布,可配置
注意setting中server标签下的id要和pom文件中仓库配置的id相同,即指定上传到哪个仓库</font>
第三方jar包上传
对于第三方jar包的上传采用nenus提供的web界面上传,上传成功后需要使用该jar包的话,依赖中填写自定义的GAV即可