Maven私服Nexus搭建

news/2024/11/7 20:37:35/

1. Nexus 安装

1.1 下载Nexus

Nexus下载地址:https://download.sonatype.com/nexus/3/latest-unix.tar.gz

1.2 上传至服务器并解压

上传到 Linux 系统,解压后即可使用,不需要安装,但是需要注意:必须提前安装 JDK

[root@x nexus-3.37.0-01]# ll
总用量 96
drwxr-xr-x. 3 root root 4096 3月 13 17:33 bin
drwxr-xr-x. 2 root root 4096 3月 13 17:33 deploy
drwxr-xr-x. 7 root root 4096 3月 13 17:33 etc
drwxr-xr-x. 5 root root 4096 3月 13 17:33 lib
-rw-r--r--. 1 root root 651 11月 20 01:40 NOTICE.txt
-rw-r--r--. 1 root root 17321 11月 20 01:40 OSS-LICENSE.txt
-rw-r--r--. 1 root root 41954 11月 20 01:40 PRO-LICENSE.txt
drwxr-xr-x. 3 root root 4096 3月 13 17:33 public
drwxr-xr-x. 3 root root 4096 3月 13 17:33 replicator
drwxr-xr-x. 23 root root 4096 3月 13 17:33 system

1.3 启动Nexus

[root@x ~]# /opt/nexus-3.37.0-01/bin/nexus start
WARNING: ********************
WARNING: Detected execution as "root" user. This is NOT recommended!
WARNING: ********************
Starting nexus
[root@x ~]# /opt/nexus-3.37.0-01/bin/nexus status
WARNING: ********************
WARNING: Detected execution as "root" user. This is NOT recommended!
WARNING: ********************
nexus is running.

1.4 查看端口占用情况

[root@x ~]# netstat -anp | grep java
tcp 0 0 127.0.0.1:45614 0.0.0.0:* LISTEN 9872/java
tcp 0 0 0.0.0.0:8081 0.0.0.0:* LISTEN 9872/java

上面 45614 这个每次都不一样,不用管它,我们需要访问的是 8081 这个端口

注意:8081 端口的这个进程要在启动 /opt/nexus-3.37.0-01/bin/nexus 这个主体程序一、两分钟后才会启动,请耐心等待。

1.5 访问 Nexus 首页

首页地址:http://[Linux 服务器地址]:8081/,初始化界面还是很酷的:

在这里插入图片描述

2. Nexus初始设置

点击登录,会弹出输入用户名和密码弹框,初次进入,在弹框中会告诉密码所在位置,如下图。

在这里插入图片描述
在这里插入图片描述

这里参考提示:

  • 用户名:admin
  • 密码:查看 /opt/sonatype-work/nexus3/admin.password 文件
[root@hello ~]# cat /opt/sonatype-work/nexus3/admin.password
ed5e96a8-67aa-4dca-9ee8-1930b1dd5415

所以登录信息输入如下:

在这里插入图片描述

继续执行初始化:

在这里插入图片描述

给 admin 用户指定新密码:

在这里插入图片描述

匿名登录,启用还是禁用?由于启用匿名登录后,后续操作比较简单,这里禁用匿名登录的操作方式:

在这里插入图片描述

完成:

在这里插入图片描述

#3. 对接 Nexus

3.1 通过 Nexus 下载 jar 包

了解 Nexus 上的各种仓库

在这里插入图片描述

仓库类型说明
proxy某个远程仓库的代理
group存放:通过 Nexus 获取的第三方 jar 包
hosted存放:本团队其他开发人员部署到 Nexus 的 jar 包
仓库名称说明
maven-centralNexus 对 Maven 中央仓库的代理
maven-publicNexus 默认创建,供开发人员下载使用的组仓库
maven-releasseNexus 默认创建,供开发人员部署自己 jar 包的宿主仓库 要求 releasse 版本
maven-snapshotsNexus 默认创建,供开发人员部署自己 jar 包的宿主仓库 要求 snapshots 版本
初始状态下,这几个仓库都没有内容:

在这里插入图片描述

3.2 指定 Nexus 服务器地址

把原来配置阿里云仓库地址的 mirror 标签改成下面这样:

<mirror><id>nexus-mine</id><mirrorOf>central</mirrorOf><name>Nexus mine</name><url>http://192.168.198.100:8081/repository/maven-public/</url>
</mirror>

这里的 url 标签是这么来的:

在这里插入图片描述
在这里插入图片描述

把上图中看到的地址复制出来即可。如果在前面允许了匿名访问,到这里就够了。但如果禁用了匿名访问,那么接下来我们还要继续配置 settings.xml:

<server><id>nexus-mine</id><username>admin</username><password>admin</password>
</server>

这里需要格外注意:server 标签内的 id 标签值必须和 mirror 标签中的 id 值一样。

3.4 效果

找一个用到框架的 Maven 工程,执行命令:mvn clean compile

下载过程日志:

Downloading from nexus-mine: http://192.168.198.100:8081/repository/maven-public/com/jayway/jsonpath/json-path/2.4.0/json-path-2.4.0.pom
Downloaded from nexus-mine: http://192.168.198.100:8081/repository/maven-public/com/jayway/jsonpath/json-path/2.4.0/json-path-2.4.0.pom (2.6 kB at 110 kB/s)
Downloading from nexus-mine: http://192.168.198.100:8081/repository/maven-public/net/minidev/json-smart/2.3/json-smart-2.3.pom
Downloaded from nexus-mine: http://192.168.198.100:8081/repository/maven-public/net/minidev/json-smart/2.3/json-smart-2.3.pom (9.0 kB at 376 kB/s)
Downloading from nexus-mine: http://192.168.198.100:8081/repository/maven-public/net/minidev/minidev-parent/2.3/minidev-parent-2.3.pom
Downloaded from nexus-mine: http://192.168.198.100:8081/repository/maven-public/net/minidev/minidev-parent/2.3/minidev-parent-2.3.pom (8.5 kB at 404 kB/s)
Downloading from nexus-mine: http://192.168.198.100:8081/repository/maven-public/net/minidev/accessors-smart/1.2/accessors-smart-1.2.pom
Downloaded from nexus-mine: http://192.168.198.100:8081/repository/maven-public/net/minidev/accessors-smart/1.2/accessors-smart-1.2.pom (12 kB at 463 kB/s)

下载后,Nexus 服务器上就有了 jar 包:

在这里插入图片描述

4. 将 jar 包部署到 Nexus

4.1 配置 Maven 工程

<distributionManagement><snapshotRepository><id>nexus-mine</id><name>Nexus Snapshot</name><url>http://192.168.198.100:8081/repository/maven-snapshots/</url></snapshotRepository>
</distributionManagement>

这里 snapshotRepository id 标签也必须和 settings.xml 中指定的 mirror 标签的 id 属性一致。

4.2 执行部署命令

mvn deploy
Uploading to nexus-mine: http://192.168.198.100:8081/repository/maven-snapshots/com/scorpios/demo/demo07-redis-data-provider/1.0-SNAPSHOT/maven-metadata.xml
Uploaded to nexus-mine: http://192.168.198.100:8081/repository/maven-snapshots/com/scorpios/demo/demo07-redis-data-provider/1.0-SNAPSHOT/maven-metadata.xml (786 B at 19 kB/s)
Uploading to nexus-mine: http://192.168.198.100:8081/repository/maven-snapshots/com/scorpios/demo/demo07-redis-data-provider/maven-metadata.xml
Uploaded to nexus-mine: http://192.168.198.100:8081/repository/maven-snapshots/com/scorpios/demo/demo07-redis-data-provider/maven-metadata.xml (300 B at 6.5 kB/s)
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] demo-imperial-court-ms-show 1.0-SNAPSHOT ........... SUCCESS [ 1.875 s]
[INFO] demo09-base-entity ................................. SUCCESS [ 21.883 s]
[INFO] demo10-base-util ................................... SUCCESS [ 0.324 s]
[INFO] demo08-base-api .................................... SUCCESS [ 1.171 s]
[INFO] demo01-imperial-court-gateway ...................... SUCCESS [ 0.403 s]
[INFO] demo02-user-auth-center ............................ SUCCESS [ 2.932 s]
[INFO] demo03-emp-manager-center .......................... SUCCESS [ 0.312 s]
[INFO] demo04-memorials-manager-center .................... SUCCESS [ 0.362 s]
[INFO] demo05-working-manager-center ...................... SUCCESS [ 0.371 s]
[INFO] demo06-mysql-data-provider ......................... SUCCESS [ 6.779 s]
[INFO] demo07-redis-data-provider 1.0-SNAPSHOT ............ SUCCESS [ 0.273 s]

在这里插入图片描述

4.3 引用别人部署的 jar 包

4.3.1 提出问题

默认访问的 Nexus 仓库:maven-public
存放别人部署 jar 包的仓库:maven-snapshots

4.3.2 配置 Maven 工程

<repositories><repository><id>nexus-mine</id><name>nexus-mine</name><url>http://192.168.198.100:8081/repository/maven-snapshots/</url><snapshots><enabled>true</enabled></snapshots><releases><enabled>true</enabled></releases></repository>
</repositories>

#5. 修改仓库配置

举例:修改 maven-central 仓库代理的远程库地址

在这里插入图片描述
在这里插入图片描述


http://www.ppmy.cn/news/254604.html

相关文章

nexus开机启动设置

nexus经常都是搭建在本地。而本地服务器的环境也是极为不稳定的, 断电就很难避免&#xff0c;到服务器启动时&#xff0c;各种服务重启&#xff0c;谁来谁难受。本章不讲nexus怎么安装和使用, 有需要的同学可以参考如下链接&#xff1a;Maven学习-使用Nexus(3.*)搭建Maven私服M…

nexus简介

一、什么是Nexus nexus的全称是Nexus Repository Manager&#xff0c;是Sonatype公司的一个产品。它是一个强大的仓库管理器&#xff0c;极大地简化了内部仓库的维护和外部仓库的访问。 我们主要用它来搭建公司内部的maven私服。但是它的功能不仅仅是创建maven私有仓库这么简…

nexus安装与使用

一、Nexus介绍 Nexus是Maven仓库管理器&#xff0c;也可以叫Maven的私服。Nexus是一个强大的Maven仓库管理器&#xff0c;它极大地简化了自己内部仓库的维护和外部仓库的访问。利用Nexus你可以只在一个地方就能够完全控制访问和部署在你所维护仓库中的每个Artifact。Nexus是一…

【Google Nexus 4 LG E960 一键解锁Bootloader教程】Nexus 4 刷机之前必学技能

【Google Nexus 4 解锁 Bootloader 】 https://developers.google.com/android/nexus/images#occamktu84p googe的刷机原始工具 这里呢&#xff0c;对于我们新手还是了解一下什么是 Bootloader 吧&#xff01; 一般网络锁是运营商在手机上做的限制&#xff0c; 目的是让你无…

nexus 4/5/6/7/9/10 安卓5.1 LMY47D root教程

http://www.inexus.co/article-1280-1.html 更新记录&#xff1a; 0310&#xff1a;增加安卓5.1 root办法 1215:更新安卓5.0.1 root办法 1127:更新CF-Auto-Root包 1125&#xff1a;增加nexus 6安卓5.0 root包 1116:增加nexus 4安卓5.0root 1113&#xff1a;增加了对安卓5.0的支…

nexus3部署

环境信息&#xff1a; 系统&#xff1a;CentOS 7 配置: CPU 4核(建议最少4核)、内存4G 、磁盘200G IP&#xff1a;192.168.86.9 nexus3版本&#xff1a;nexus-3.27.0-03-unix.tar.gz nexus3安装包下载地址&#xff1a; wget http://download.sonatype.com/nexus/3/nexus-3.27…

我的Nexus4终于升级到了android5.1了

谷歌四儿子Nexus 4于2012年11月发布&#xff0c;到现在已经过去了两年半&#xff0c;我在Google宣布降价$100的时候&#xff0c;买了一部&#xff0c;虽然配置在当时不是最顶配的&#xff0c;但是能够第一时间升级到android最新系统&#xff0c;价格还比较低&#xff0c;还是蛮…

docker 安装nexus

docker run -d -p 8081:8081 -p 8082:8082 -p 8083:8083 --name nexus3 -v /home/nexus/nexus-data:/nexus-data --restartalways sonatype/nexus3 配置如下代理&#xff1a; docker中国区官方镜像&#xff1a;https://registry.docker-cn.com 网易&#xff1a;http://hub-mirr…