该文章为作者版权所有,未经作者允许禁止任何人进行转载。
写在前面
最近有个同学突然问我会不会搭建nexus私服。我曾经是搭建过(个人自娱自乐),毕竟已经快两年了,现在都忘了个干净,于是在搭建的过程中整理了一下笔记,以备后续使用吧(虽然不太可能了)。
我想点进来的大家都或多或少的对nexus有了解,我这里就不再进行过多描述,一句话概括,nexus可以代替我们管理三方私有的Jar包,或许普通的开发人员没有什么用,但是,如果在公司中要求不能直接连接外网的时候,我们就需要搭建一个nexus私服来代理我们下载jar包的请求。
搭建开始
开始搭建必须要有nexus安装包,所以这里提供了官方下载地址,以及百度云下载地址。(当前版本为nexus-3.17.0-01)。
有句话叫什么——要有探(zuo)索(si)精神。
官方下载地址:https://www.sonatype.com/download-oss-sonatype (可以试一试,网络不好可能无法下载)
百度云下载地址:https://pan.baidu.com/s/1w5Wjo-I_BAkrSRi-y5iZWQ 提取码:rke1
作者在去官方下载的时候遇见坑。
录入信息后,选择下载调到下载页面,在下载页面等待十秒左右终于跳到下载页面了。但是浏览器显示白页无法下载。于是猜测自己网络的原因吧,所有跳墙而出下载了一个。。。 真坑,百度资源请珍惜使用(最近度娘老是维护,说不定连接就挂了)。
有了下载包之后, 我们开始准备安装啦!
安装环境
JDK 1.8
-
maven 3.6.0
JDK 以及 maven的安装在这里就不过多的介绍了,如果没有那说明这里不适合你,浏览器左上角后退小箭头,点一下谢谢。
注意JDK必须1.8, 官方推荐如此。老旧版本的JDK都扔了吧。。。都2019年了。
你需要确保JDK1.8在你的命令行环境中正常显示,即显示如下(用微软默认的cmd命令行也可以, 关键在于JDK的版本):
PS C:\WINDOWS\system32> java -version
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)
JDK安装正确后,JDK的环境就到此结束。
安装nexus
- 创建nexus的安装目录,把压缩包拷贝到安装目录进行解压得到的东西如下图所示:
上面的一个是nexus运行时必需的执行文件, 下面的目录为执行过程中产生的文件
2.进入上图所示的nexus-xxx文件夹,使用windows中的cmd或者Powershell打开到到该目录下, 执行./bin/nexus.exe /run
命令。注意不要使用三方的命令行(说的就是安装Git自带的命令行工具),可以会出现意料之外的bug,别问我怎么知道的。执行命令后如果直接退出说明环境不对,或者执行的位置不对。执行成功后可以看到如下图所示的页面。
启动成功的结果
3.使用浏览器打开地址 http://localhost:8081/
, 出现界面如下
- 点击上个页面右上角的sign in。执行登录操作, 默认的用户名是
admin
, 密码是随机生成的,注意登录面板的提示,查看初始密码,并修改初始密码。
到此为止, nexus的安装的结束,下一步就开始在nexus中创建maven的代理,以及使用nexus管理三方的Jar包。
使用nexus管理maven的Jar包
创建maven代理,对于本地不存在的Jar包上网进行下载。
-
登录之后,进入到管理员区域。
管理员区域按钮 -
点开如下界面,管理nexus上的所有仓库。
仓库管理界面 - 创建本地maven代理。
- 点击create repositories创建一个仓库。
创建本地maven代理
创建本地maven代理,详细页面
4.将刚刚创建的本地代理放入组中,选择public这个仓库组,将刚刚创建的项目放入到组中。
仓库管理界面
maven-public仓库管理界面
5.修改~/.m2/setting.xml
文件(与在IDE中的maven的配置文件保持一致),在合适的位置添加,如果不知道, 直接搜索元素标签,根据上下文看一下即可。
- 点击create repositories创建一个仓库。
<!-- 1. 修改mirror节点。使用本地地址,代替远程地址 -->
<mirror>
<!--This sends everything else to /public -->
<id>nexus-local</id>
<mirrorOf>*</mirrorOf>
<url>http://localhost:8081/repository/maven-public/</url>
</mirror>
<!-- 2.增加profile 节点 -->
<profile>
<id>nexus</id>
<!--Enable snapshots for the built in central repo to direct -->
<!--all requests to nexus via the mirror -->
<repositories>
<repository>
<id>central</id>
<url>http://localhost:8081/repository/maven-central/</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>http://localhost:8081/repository/maven-central/</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
<!-- 激活profile -->
<activeProfiles>
<activeProfile>nexus</activeProfile>
</activeProfiles>
-
验证是否可以使用
配置验证
发布本地Jar包,到Nexus私服
- 修改
~/.m2/setting.xml
文件
<!-- 添加server节点 -->
<server>
<id>3rd_part</id> <!-- id标识 -->
<username>admin</username> <!-- 本地nexus私服登录的账号 -->
<password>admin123</password> <!-- 本地nexus私服登录的密码 -->
</server>
2.添加3th_part
的本地存储仓库。操作步骤:回到仓库管理页面,选择创建仓库,选择maven(hosted),注意起的名字。
- 按照创建maven代理的第4步,将该三方仓库放入到public组中。
- 在maven项目的pom.xml文件中
<distributionManagement>
<repository>
<!--此id 与 setting.xml文件的server节点保持一致-->
<id>3rd_part</id>
<layout>default</layout>
<!--此地址为 本步骤创建的三方包的存储地址-->
<url>http://localhost:8081/repository/3rd_part/</url>
</repository>
</distributionManagement>
5.在项目的终端界面敲击命令mvn clean deploy -Dmaven.test.skip=true
发布项目包测试配置是否生效。
大功告成。。。