Linux下搭建maven(maven3.6+nexus3.2)私服
准备maven和nexus安装包,nexus安装包好像要翻墙,不然下载不到!
链接:https://pan.baidu.com/s/1bVMadGoTAK9pSLW6yBNOCg
提取码:y2qn
1.安装
将两个包上传到服务器中,个人建议创建一个文件夹进行存放
1.解压
tar -zxvf 文件名
解压后应该有三个目录,上图:
这里对三个目录进行简单说明:
maven:这个就不用说了吧,安装私服的应该都知道
nexus:私服仓库主程序包
sonatype-work:私服的工作空间包
2.配置
配置主要有两块,nexus的端口和内存(1核2G的服务器),maven的环境变量以及代理仓库地址
maven
进入Linux主目录 vim /etc/profile 然后按 i
添加如下代码:
export MAVEN_HOME=maven路径
export PATH=$PATH:$MAVEN_HOME/bin
添加完 按 ESC –> 英文 : –> wq –> 回车
为了让配置文件立即生效,执行 source /etc/profile
上图:上面还有jdk的环境变量,maven是需要jdk环境变量的,没有的同学先去配置jdk环境吧
配置完了就得检查一下:mvn -version
看看和我的一样不?
环境变量配置完就该配置maven的代理仓库地址 了(个人觉得不需要,但是网上有人这么说,那就配置上吧)!
进入刚才的包路径下面,准备执行命令
vim apache-maven-3.6.3/conf/settings.xml 然后按i
在mirror标签中更换地址为:http://maven.aliyun.com/nexus/content/groups/public
记得将箭头标注的注释移动到框线上面哦,不然无效的
添加完 按 ESC –> 英文 : –> wq –> 回车
nexus
这块的配置我说明一下吧,因为不影响正常启动,具体改不改看你们
端口配置文件:
内存配置文件:
512M的内存是我试过的,256会导致启动或者运行失败,512是最小的,但是加载会很慢,如果你服务器内存够大,就不用改!
3.启动
进入nexus的bin目录
nexus的启动命令有两种
./nexus start 没有启动日志
./nexus run 有启动日志 结束日志查看用Ctrl+c
停止命令:./nexus stop
2.配置
基础配置
启动完成后通过浏览器访问 IP+端口
第一次访问的时候日志会出现 Timeout 不用管 重新启动就可以访问(重新启动速度比较慢,请点烟等候,预计两分钟)
出现红框提示,说明启动完成了,可以开始登陆了
首次登陆后,登陆用户为admin,密码会出现在服务器工作空间目录下
网上好多人说默认密码是admin123什么的都不行,我就是采坑过来的,首次登陆的时候,页面也会有提示的,会告诉你路径的!
文件格式是admin.XXX
查看密码后登录,会引导你设置admin的新密码,设置就OK了
引导设置完后,会有一个游客访问你的设置,个人建议关闭!
是不是很nice?
有些小伙伴可能会有下面这个问题
*UNKNOWN com.sonatype.nexus.plugins.outreach.internal.outreach.SonatypeOutreach - Could not download page bundle
org.apache.http.conn.HttpHostConnectException: Connect to sonatype-download.global.ssl.fastly.net:443 [sonatype-download.global.ssl.fastly.net/69.171.245.49] failed: Time out
at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:151) [httpcore:0.0.0]
at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:353) [httpcore:0.0.0]
at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:380) [httpcore:0.0.0]
at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236) [httpcore:0.0.0]
at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184) [httpcore:0.0.0]
at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88) [httpcore:0.0.0]
解决方法:登录账号,打开【System】–》【Capabilities】,将【Outreach:Management】禁用即可。
仓库配置
先创建仓库,再创建角色,最后用户,这是一个步骤(你品,你细品,不懂的你等会配置完就懂了)
简介一哈:
默认仓库介绍
1)maven-central: maven中央库,默认从 https://repo1.maven.org/maven2/ 拉取jar
2)maven-releases: 私库发行版jar
3)maven-snapshots:私库快照(调试版本)jar
4)maven-public: 仓库分组,把上面三个仓库组合在一起对外提供服务,在本地maven基础配置settings.xml中使用。
Nexus默认的仓库类型有以下四种:(上面的名字可以随便取,关键是它对应的是什么仓库类型)
1)group(仓库组类型):又叫组仓库,用于方便开发人员自己设定的仓库;
2)hosted(宿主类型):内部项目的发布仓库(内部开发人员,发布上去存放的仓库);
3)proxy(代理类型): 从远程中央仓库中寻找数据的仓库(可以点击对应的仓库的Configuration页签下Remote Storage Location属性的值即被代理的远程仓库的路径);
4)virtual(虚拟类型): 虚拟仓库(这个基本用不到,重点关注上面三个仓库的使用);
Policy(策略):表示该仓库为发布(Release)版本仓库还是快照(Snapshot)版本仓库;
2、仓库拉取jar包流程
1)Maven可直接从宿主仓库下载构件,也可以从代理仓库下载构件,而代理仓库间接的从远程仓库下载并缓存构件
2)为了方便,Maven可以从仓库组下载构件,而仓库组并没有时间的内容(下图中用虚线表示,它会转向包含的宿主仓库或者代理仓库获得实际构件的内容).
创建仓库:
1.创建中央仓库
URL用阿里云的:http://maven.aliyun.com/nexus/content/groups/public
2.创建宿主仓库
宿主仓库这里了两种不同的存储类型
3.创建仓库组
最后来一张全家福吧!
创建角色
创建用户
如有问题,欢迎指正!