maven私服,你搭过吗?

前言:

        以前一直用maven开发,但是仅限于mvn -clean, mvn -package,mvn  -install 等比较简单的使用,从没有实际动手搭建过一套maven私服,所以决定搭建一套自己的maven私服,搭建maven私服的好处:如果要下载的jar包在私服中别人下载过,那么不再需要去访问maven的中央仓库去下载,访问中央仓库去下载的速度真的很慢。这个优点总结起来就是,方便团队对jar包的共享及管理

先上之前看过的一张图,方便理解:

图1

部署环境:

1、centos-6.5

2、jdk8

3、 nexus-3.13.0-01

4、apache-maven-3.6.1

下面开始一步步的操作介绍,以及我在搭建过程中的问题,会列举出来。

1、安装jdk

由于原来虚拟机没有安装jdk,所以需要先安装jdk,使用jdk1.8,先在/usr/local/data下创建jdk8文件夹(依据个人喜好),作为安装目录使用。

1.1 使用命令:  yum -y list java*  查看当前系统能使用java的版本,执行命令后如下显示:

图2

1.2 根据自己电脑配置,我选择安装的是x86_64的,执行如下命令,进行安装:

yum -y install  java-1.8.0-openjdk.x86_64  ,安装完成后 执行 java -version 命令 查看到如下结果,说明安装成功:

图3

2、安装maven

2.1 使用wget 命令直接下载maven安装包  : wget  https://www-eu.apache.org/dist/maven/maven-3/3.6.1/source/apache-maven-3.6.1-src.tar.gz

2.2 tar -zxvf  apache-maven-3.6.1-src.tar.gz  解压安装包

2.3 配置环境变量 vim /etc/profile ,在末尾加上下面配置:

#maven

MAVEN_HOME=/usr/local/data/maven3/apache-maven-3.6.1

export MAVEN_HOME

export PATH=${PATH}:${MAVEN_HOME}/bin

然后使用source命令使配置生效:source /etc/profile

2.4 查看是否生效,显示如下说明安装成功

图4

3、安装nexus

3.1 首先在/usr/local/data下创建nexus3文件夹,访问地址下载安装包:

https://sonatype-download.global.ssl.fastly.net/repository/repositoryManager/3/nexus-3.17.0-01-unix.tar.gz 

3.2 下载完之后,cd  /usr/local/data/nexus3 目录下,使用 rz 命令将下载好的nexus包上传到nexus3目录下,之后使用命令tar -zxvf  nexus-3.17.0-01-unix.tar.gz 对压缩包进行解压缩。解压后只有2个目录,如下图蓝色字体显示。

图5

3.3 切换到 nexus-3.13.0-01/bin 目录下执行 ./nexus start 命令启动nexus服务

使用 ./nexus state 命令查看启动状态,如下图显示,说明服务启动成功。

图6

安装过程中遇到的问题:

1、启动nexus服务报错如下,找不到repository,去开源社区中找到了解决方法:重命名文件夹nexus3为nexus_bak(据说删除这个文件夹也可以,我没试过),重启服务问题解决。

Caused by: com.orientechnologies.orient.core.exception.OCommandExecutionException: Class 'REPOSITORY' was not found in database 'config'

2、nexus3 默认端口8081,通过浏览器 访问 ip:port 对应地址,一直无法访问,后来发现是防火墙问题,把防火墙关了(service iptables stop),重新访问就可以登录了。默认登录名、密码是:admin/admin123. 登录成功。

图7

4、私服使用的一些说明

    4.1 常用的仓库如图8所示,maven-central 是中央仓库,注意中央仓库的type是 proxy类型,国内一般使用阿里云仓库作为中央仓库比较多;maven-releasesmaven-snapshots的type是hosted(宿主),用来存放本地上传的第三方jar。它们的区别是snapshots 是快照版本,releases是正式发布版本;maven-public 的类型是type 是 group类型,它是一个仓库组,用于合并多个hosted/proxy仓库,当使用多个reposity库时就不需要多次引用不同的库了,只需要引用一个group即可。如图9所示,

图8


图9


更多技术分享,面试资料整理,请关注下方微信公众号;后台回复 "面试资料"  获得提取码,您将免费获得一份面试宝典。

百度网盘链接: https://pan.baidu.com/s/19HcIcfCaM58dw8_A2eCdFA 

你可能感兴趣的:(maven私服,你搭过吗?)