Centos7安装nexus(maven私服)以及maven的相关配置
一、nexus安装:
1、获取nexus下载地址:
查询nexus最新版本地址:https://help.sonatype.com/repomanager3/download
当前最新版本为nexus 3.30.0 点击文件获取下载链接:https://download.sonatype.com/nexus/3/latest-unix.tar.gz
不好意思,下载不了:网络连接失败!看来不能直接通过wget直接下载了!
不过我这里有一个3.9.0的版本,需要的可以直接利用百度云盘下载:
链接:https://pan.baidu.com/s/1iC8u52rHvXBG2POFbIJW-g
提取码:nzez
2、使用ssh远程放在指定目录:
[root@bogon ~]# mkdir /usr/local/soft/nexus
[root@bogon ~]# cd /usr/local/soft/nexus
上传nexus安装包:
3、nexus文件解压:
[root@bogon nexus]# tar -zxvf nexus-3.9.0-01-unix.tar.gz
二、nexus配置:
1、修改默认端口号(建议修改,安全起见):
nexus默认的端口号为:8081
编辑nexus-default.properties:
[root@bogon nexus]# vim /usr/local/soft/nexus/nexus-3.9.0-01/etc/nexus-default.properties
光标下移,直到找到application-port=8081 ,键盘输入 “i” 进入编辑状态,修改端口号。键盘按下ESC退出编辑模式,键盘输入“:wq”保存并退出;
2、防火墙开放端口(默认的是8081):
[root@bogon nexus]# firewall-cmd --zone=public --add-port=8081/tcp --permanent
防火墙重起:
[root@bogon nexus]# firewall-cmd --reload
3、设置开机自启动:
编辑nexus.service文件(没有该文件,命令会自动创建)
[root@bogon nexus]# vim /usr/lib/systemd/system/nexus.service
键盘输入 “i” 进入编辑状态,添加一下内容:
[Unit]
Description=nexus service [Service]
Type=forking
LimitNOFILE=65536
ExecStart=/usr/local/soft/nexus/nexus-3.9.0-01/bin/nexus start
ExecReload=/usr/local/soft/nexus/nexus-3.9.0-01/bin/nexus restart
ExecStop=/usr/local/soft/nexus/nexus-3.9.0-01/bin/nexus stop
Restart=on-failure [Install]
WantedBy=multi-user.target
键盘按下ESC退出编辑模式,键盘输入“:wq”保存并退出;
加入开机启动:
[root@bogon nexus]# systemctl enable nexus.service
重新加载配置文件:
[root@bogon nexus]# systemctl daemon-reload
启动命令:
[root@bogon ~]# systemctl start nexus.service
很遗憾,启动报错了,别急看看报错原因:
根据提示查找错误原因:
[root@bogon ~]# systemctl status nexus.service
很遗憾,还是找不到具体的原因,别急,直接打开/var/log/messages文件找找错误信息:
终于找到原因了,原来是jdk版本最低支持1.8的。
4、更换jdk版本:
编辑nexus文件:
[root@bogon ~]# vim /usr/local/soft/nexus/nexus-3.9.0-01/bin/nexus
键盘输入 “i” 进入编辑状态,找到INSTALL4J_JAVA_HOME_OVERRIDE:
放开该行(去掉#),修改为:
INSTALL4J_JAVA_HOME_OVERRIDE=/usr/local/soft/java/jdk1.8.0_161 # 等号后边为jdk安装路径
如下所示:
键盘按下ESC退出编辑模式,键盘输入“:wq”保存并退出;
再次执行重启命令:
[root@bogon ~]# systemctl start nexus.service
查看状态:
[root@bogon ~]# systemctl status nexus.service
三、nexus管理界面的配置:
1、登录系统:
地址:http://ip:8081
账号:damin
密码:admin123
2、设置阿里云镜像仓库:
我们在maven中引用当前nexus私服时,nexus私服如果没有所需要的的jar包,就会去第三方镜像去下载,为了加快下载速度,我们直接在nexus中配置阿里云的镜像。
点击齿轮(Configuration) > Repositories(仓库)后,展示如下图所示:
备注:proxy --- 代理仓库(第三方仓库) hosted --- 私有仓库(也就是自己的仓库) group --- 聚合仓库 ( 基本引用都使用这个库)
添加创建阿里云镜像代理库:
(1)点击create repository按钮:
(2)选择maven2(proxy)---maven代理仓库:
(3)命名以及设置阿里云的rep地址:
阿里云的rep地址:https://maven.aliyun.com/repository/public
点击create repositories保存。
(4)添加的阿里云镜像加入到maven-public(聚合库,我们maven引用此库)中:
进入maven-public详情中进行编辑:
点击save进行保存。
四、配置maven的settings.xml和项目中的pom.xml文件关联当前的nexus私服:
1、配置maven的settings.xml:
<servers>
<server>
<!--id 需要和pom.xml的对应(上传jar包使用)-->
<id>maven-releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<!--id 需要和pom.xml的对应(上传jar使用)-->
<id>maven-snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
<mirrors>
<!--引用nexus私服的地址(使用maven-public聚合库,也就是在上边配置的聚合库)-->
<mirror>
<id>maven-public</id>
<mirrorOf>central</mirrorOf>
<url>http://nexus私服:8081/repository/maven-public/</url>
</mirror>
<!--备用 以免在外网环境连不上私服-->
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<url>https://maven.aliyun.com/repository/public/</url>
</mirror>
</mirrors>
2、配置项目的pom.xml:
<distributionManagement>
<repository>
<!--id 需要和上边的settings中的对应-->
<id>maven-releases</id>
<name>maven repository</name>
<url>http://nexus私服ip:8081/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<!--id 需要和上边的settings中的对应-->
<id>maven-snapshots</id>
<name>maven repository</name>
<url>http://nexus私服ip:8081/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
终于搞完了,试试吧,在项目使用maven deploy打包发布命令,看看能不能上传到自己的nexus私服。
最新文章
- 让Lua自己把文件夹下面的所有文件自动加载起来吧
- CRM 安全证书到期操作命令
- 【hrbust2294】方方正正
- java基础 绘图技术.坦克大战 之java绘图坐标体系(二)
- Web自动化测试 Selenium 3/3 https的配置
- 关于ArrayList 容量问题
- javaweb项目中的WEB-INF与META-INF
- [ucgui] 彩色条函数
- Python深入02 上下文管理器
- 前端MVC学习——模块发开发、seajs学习
- codevs 3160 最长公共子串(SAM)
- mysql数据库中列转行
- 使用GDB调试器(一)
- [google面试CTCI] 1-5.替换字符串中特定字符
- php函数搜集
- python socket+tcp三次握手四次撒手学习+wireshark抓包
- 编译LNMP之nginx+php-fpm
- 欢迎来到Hadoop
- Web Service进阶(三)HTTP-GET, HTTP-POST and SOAP的比较
- 后端分布式系列:分布式存储-HDFS Client 设计实现解析
热门文章
- SCSS variable for loop All In One
- 树莓派 4B 入门教程
- JavaScript Inheritance All in One
- web performance optimise &; css
- linux bash shell &; lsof &; grep &; ps
- 「NGK每日快讯」12.15日NGK公链第42期官方快讯!
- [转]百度Appollo无人车Perception Module 分析
- C# 使用 Index 和 Range 简化集合操作
- css3自动换行排列
- KDE 桌面不显示背景和状态栏