CentOS7.4搭建Nexus3的私有服务器
经常使用Maven去下载jar包文件,突然发现公司的网络好卡,还有一些jar包每次都要手动去加载比如:Oracle的jar驱动文件。所以自己用虚拟机搭建了一个Maven的私有仓库系统使用的Nexus3的版本,主要的安装步骤还有配置信息如下:
安装环境
系统:CentOS7.4
java jdk 1.8
版本:nexus-3.15.2-01-unix.tar.gz
一.下载nexus3版本
通过官网去下载对应的nexus版本;下载地址:http://www.sonatype.org/nexus/go
上传到CentOS的 /opt
目录下,然后解压
[root@localhost opt]# tar -zvxf nexus-3.15.2-01-unix.tar.gz
[root@localhost opt]# ll
drwxr-xr-x. 9 root root 163 2月 27 15:41 nexus-3.15.2-01
-rw-r--r--. 1 root root 122094643 2月 27 15:27 nexus-3.15.2-01-unix.tar.gz
drwxr-xr-x. 3 root root 20 2月 27 15:41 sonatype-work
#修改nexus文件夹名称
[root@localhost opt]# mv nexus-3.15.2-01 nexus
二.启动nexus
进入到nexus的bin目录下
[root@localhost opt]# cd nexus/
[root@localhost opt]# cd bin/
#启动nexus,并打印日志信息
[root@localhost bin]# .nexus run &
#或者如下方式启动
[root@localhost bin]# ./nexus start
启动后生成的日志信息如下:
打开防火墙端口8081
[root@localhost bin]# firewall-cmd --zone=public --add-port=8081/tcp --permanent
[root@localhost bin]# firewall-cmd --reload
访问地址信息:http://192.168.0.137:8081
登录的默认账号和密码如下:admin/admin123
登录后的效果如下;
三.nexus的配置文件信息
如果你想配置nexus的应用在本地启动的JVM参数,可以在nexus.vmoptions
[root@localhost bin]# vi nexus.vmoptions
-Xms1200M
-Xmx1200M
-XX:MaxDirectMemorySize=2G
-XX:+UnlockDiagnosticVMOptions
-XX:+UnsyncloadClass
-XX:+LogVMOutput
-XX:LogFile=../sonatype-work/nexus3/log/jvm.log
-XX:-OmitStackTraceInFastThrow
-Djava.net.preferIPv4Stack=true
-Dkaraf.home=.
-Dkaraf.base=.
-Dkaraf.etc=etc/karaf
-Djava.util.logging.config.file=etc/karaf/java.util.logging.properties
-Dkaraf.data=../sonatype-work/nexus3
-Djava.io.tmpdir=../sonatype-work/nexus3/tmp
-Dkaraf.startLocalConsole=false
如果你想改变nexus的端口号,可以在nexus-default.properties
[root@localhost etc]# vim nexus-default.properties
## DO NOT EDIT - CUSTOMIZATIONS BELONG IN $data-dir/etc/nexus.properties
##
# Jetty section
application-port=8081
application-host=0.0.0.0
nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-requestlog.xml
nexus-context-path=/
# Nexus section
nexus-edition=nexus-pro-edition
nexus-features=\
nexus-pro-feature
四.接下来我们直奔主题
①在创建 repository之前,还是需要先设定一个指定的文件存储目录,便于统一管理。
由下面新建的完成的,可以看出,
②第二步,创建Proxy Repository 代理资源库
远程Maven地址:https://repo1.maven.org/maven2/
其他的不用更改了。保存就好了
③第三步,创建hosted repository 托管资源库
Hosted有三种方式,Releases、SNAPSHOT、Mixed Releases: 一般是已经发布的Jar包 Snapshot: 未发布的版本 Mixed:混合的
④第四步,创建group repository 组资源库
⑤第五步,比较nexus中默认提供的
好吧,从命名上也可以看出来,系统自带的命名可以看出来这个资源库是什么类型中的什么类型的。【没有创建未发布的资源库,那以后咱们自己想去创建的,自行创建,再加入到group中就行了】
五.本地项目使用新搭建好的私有的Maven的仓库
①在原始的setting文件中加入
拷贝的这个地址,就是下面即将在setting.xml文件中添加时使用的。可以对应下面的setting.xml文件中看
<servers>
<server>
<id>nexus</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
<mirrors>
<mirror>
<id>nexus</id>
<name>nexus repository</name>
<url>http://192.168.0.137:8081/repository/nexus-group/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<!-- 阿里云仓库 -->
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<!-- 阿里云仓库 -->
<mirror>
<id>ibiblio</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://mirrors.ibiblio.org/maven2/</url>
</mirror>
<!-- maven中央仓库 -->
<mirror>
<id>repo1</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://repo1.maven.org/maven2/</url>
</mirror>
</mirrors>
然后更新项目 Maven-> Update Project
效果如下
六.使用命令上传第三方jar到nexus
使用nexus2的话,可以在界面上直接上传第三方的jar到上创建的hosted资源库,也就是托管资源库中。
可是nexus3在页面我愣是找了半天也没有找到。同时官方的说明文档我查了一半,貌似也没有发现。所以,页面上既然没有这个功能,就只能自己使用命令上传第三方jar到nexus了。
示例:
上传一个处理word的jar包到nexus上。
jar包为jacob
我们先在nexus上搜索一下:下面是搜不出来的
步骤1:
把hosted资源库,也配置到maven的settting.xml文件中
添加下面:
<!--id自定义,但是在使用命令上传的时候会用到-->
<server>
<id>myself_hosted</id>
<username>admin</username>
<password>admin123</password>
</server>
到目前为止,我的settting.xml文件也就是下面这些东西
步骤2:
以下命令
mvn deploy:deploy-file -DgroupId=sxd.jar -DartifactId=jacob -Dversion=1.18 -Dpackaging=jar -Dfile=G:\jar\jacob-1.18.jar -Durl=http://localhost:8081/repository/myself_hosted/ -DrepositoryId=myself_hosted
命令解释:
-DgroupId=sxd.jar 自定义
-DartifactId=jacob 自定义
-Dversion=1.18 自定义 三个自定义,构成pom.xml文件中的坐标
-Dpackaging=jar 上传的类型是jar类型
-Dfile=G:\jar\jacob-1.18.jar jar的本地磁盘位置
-Durl=http://localhost:8081/repository/myself_hosted/ hosted资源库的地址,下图中
-DrepositoryId=myself_hosted setting.xml文件中配置的ID
步骤3:
在项目的pom.xml文件中引入一下jar包
<dependency>
<groupId>sxd.jar</groupId>
<artifactId>jacob</artifactId>
<version>1.18</version>
<scope>provided</scope>
</dependency>
保存pom.xml文件。
这下,发现maven下已经引入成功。并且已经将这个jar包放入本地maven仓库了。
完全成功了。
=======================================================================================
博客地址:https://www.codepeople.cn
=======================================================================================
微信公众号: