前言
好久之前就想搭建maven仓库了,一直拖到了现在,也就是懒得动,现在终于是要付诸行动了。网上查了不少资料,好多博客都是关于2.x的搭建,我下载的是最新版的nexus,好多教程已经不能使用,以此记录我的踩坑搭建之路。
安装环境和需要的软件
- Centos 7
- Java 1.8
- nexus OSS 3.13
Java安装
- 卸载openjdk
1.rpm -qa|grep java 查找
2.rpm -e --nodeps xxxx 卸载openjdk
- 下载jdk
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.tar.gz"
- 安装
1.mkdir /usr/java 在/usr下建立Java文件夹
2.mv jdk-8u181-linux-x64.tar.gz /usr/java/jdk-8u181-linux-x64.tar.gz
3.tar -xzvf jdk-8u181-linux-x64.tar.gz 解压
4.mv jdk1.8.0_181/ jdk1.8
5.vim /etc/profile
6.设置环境变量
JAVA_HOME=/usr/java/jdk1.8
JRE_HOME=/usr/java/jdk1.8/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPARH=,:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH
分隔符是冒号不是分号
7.source /etc/profile 使环境变量生效
8.java -version 查看Java版本
Nexus安装
- 创建文件夹
mkdir /usr/software/nexus
- 下载安装文件
cd /usr/software/nexus
wget "https://sonatype-download.global.ssl.fastly.net/repository/repositoryManager/3/nexus-3.13.0-01-unix.tar.gz"
- 解压
tar -xzvf nexus-3.13.0-01-unix.tar.gz
解压后
- 修改配置文件 也可以不改
cd nexus-3.13.0-01/etc
vim nexus-default.properties
默认端口8081,我修改为5743
- 开放端口 root用户
1.查看防火墙状态
firewall-cmd --state
2.如果关闭开启防火墙
systemctl start firewalld.service
3.开放5743端口(以自己的配置为准)
firewall-cmd --zone=public --add-port=5743/tcp --permanent
4.重新加载
firewall-cmd --reload
5.重启防火墙
systemctl restart firewalld.service
- 启动nexus
cd nexus-3.13.0-01/bin
./nexus start
常用命令
./nexus restart
./nexus stop
本地访问 ip:端口号 默认账户admin 密码 admin123
选择Repositories 创建三方私有库
我创建了两个maven hosted仓库
将这两个仓库加入到maven-public中
点击maven-public
到这里线上就配置完成了
配置Maven
- 找到setting.xml 在mirrors中添加mirror
<mirror>
<id>nexus</id
<mirrorOf>*</mirrorOf>
<name>central repository</name>
<url>http://ip:端口/repository/maven-public/</url>
</mirror>
- 在servers中添加server
<!-- id与pom.xml中的distributionManagement下repository的id对应 -->
<server>
<id>nexus</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>3rd-releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>3rd-snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
- 在profiles中添加profile
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>3rd-releases</id>
<name>3rd releases</name>
<url>http://ip:端口/repository/3rd-releases/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>3rd-snapshots</id>
<name>3rd snapshots</name>
<url>http://ip:端口/repository/3rd-snapshots/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>3rd-releases</id>
<name>3rd releases</name>
<url>http://ip:端口/repository/3rd-releases/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>3rd-snapshots</id>
<name>3rd snapshots</name>
<url>http://ip:端口/repository/3rd-snapshots/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
- 激活profile
<activeProfiles>
<!--profile下的id-->
<activeProfile>nexus</activeProfile>
</activeProfiles>
上传jar 发布项目
- 网页上传jar upload
maven deploy
- pom.xml 添加 distributionManagement
<distributionManagement> <repository> <id>3rd-releases</id> <name>3rd-releases</name> <url>http://ip:端口/repository/3rd-releases/</url> </repository> <snapshotRepository> <id>3rd-snapshots</id> <name>3rd-snapshots</name> <url>http://ip:端口/repository/3rd-snapshots/</url> </snapshotRepository> </distributionManagement>
id要和setting.xml中的server id一致
- 运行maven deploy
查看线上
发布成功,以后可以直接在别的项目中使用
补充
1.window注册服务
nexus.exe /install
2.window运行
nexus.exe /run