[Sonatype Nexus]Ubuntu、Nexus搭建Maven私有仓库

  1. 云栖社区>
  2. 博客>
  3. 正文

[Sonatype Nexus]Ubuntu、Nexus搭建Maven私有仓库

luckcheng 2017-06-20 17:03:49 浏览827
展开阅读全文

环境:
Sonatype Nexus、
Ubuntu16.04、
Maven3、
Intellij Idea等

整体搭建思路:
在服务器A上部署Sonatype Nexus进行Maven仓库管理,在其他环境的项目中,使用Nexus上的Maven仓库;

为什么需要建立私有仓库?
博主在项目中,使用了私有的jar包,但是在maven仓库中肯定是找不到的;在博主的另一篇博文中,遇到这样的情况我选择了将jar包添加入本地maven仓库中再进行项目打包,这样能解决了问题,可是,这样的maven仓库却在我本地;当项目开发到一定程度,随之而来的私有jar包多了以后,会非常麻烦。所以,这时候就需要一个整个团队都能使用的专有maven仓库。

一、安装部署Sonatype Nexus

1)Nexus需要JDK环境
2)Nexus包

这里写图片描述

在这里下载了2.x版本的(这里是2.14.14-03,刚开始是下载3.x版本的,发现在ubuntu上启动有问题,一时半会还解决不了,就上2.x了)

sudo wget https://sonatype-download.global.ssl.fastly.net/nexus/oss/nexus-2.14.4-03-bundle.tar.gz

下载完成后进行解压:

sudo tar -zxvf nexus-2.14.4-03-bundle.tar.gz

解压之后会有两个文件夹,简单解释

nexus-2.14.4-03:程序
sonatype-work:仓库

这里写图片描述

确保机器上已经装好JDK,并且配置好;

进入Nexus的bin目录,启动程序在里面;

cd nexus-2.14.4-03/bin/

这里写图片描述
其他两个文件不是很懂,不过猜一下nexus.bat应该是windows平台启动用的;

现在启动:

sudo ./nexus start

这里写图片描述

注意:这里启动的时候有警告:

WARNING - NOT RECOMMENDED TO RUN AS ROOT

解决方法1:

vim /etc/profile

在profile文件里追加,使用root用户启动

export RUN_AS_USER=root

使profile文件立即生效:

source /etc/profile

解决方法2:
直接在启动前指令输入(暂时):

export RUN_AS_USER=root

解决方法3:

在nexus-2.14.4-03/bin/nexus文件中设置root启动

vim nexus-2.14.4-03/bin/nexus

这里写图片描述

重新编辑23行:

RUN_AS_USER=root

编辑完成后,启动

这里写图片描述

这里一定看到

Started Nexus OSS.

才是真正启动成功。

Sonatype Nexus默认端口8081,初始密码admin/admin123

这里,博主在Nexus下的conf/nexus.properties文件中重新指定了port

这里写图片描述

并且!!!

为了局域网内都能使用Nexus仓库管理,还要在部署Nexus的服务器设置Nexus的端口开放!!!

设置防火墙的规则,允许8881端口进入

sudo ufw allow  8881

好,启动运行:

这里写图片描述

使用默认账号密码:admin/admin123

登录

这里写图片描述

二、配置私有仓库

点击Repositories

Nexus2.14.4-03下默认共有6个仓库,有个是我自己添加的所以,被窝马赛克掉了;

nexus的仓库类型分为以下四种:

group: 仓库组
hosted:宿主
proxy:代理
virtual:虚拟

首次登陆nexus后可以看到以下一个仓库组和多个仓库。

这里写图片描述

配置Central库

这里写图片描述

Download Remote Indexes设置为true

save

对Central右键更新索引一下

Repair Index
Update Index

这里写图片描述

然后我们再来看看索引更新怎么样了

这里写图片描述

哎哟喂,看到没?Browse Index下一堆依赖包什么的,美滋滋;正常获取maven依赖包的索引了;

(注意:如果索引一致无法更新,我这里配置了一个阿里云的maven仓库)

这里写图片描述

http://maven.aliyun.com/nexus/content/groups/public/

那么还没结束的;

配置一下public库

这里写图片描述

在Public Repositories中配置Configuration

从左边的Ordered Group Repositories 将Central弄到左边

save

Sonatype Nexus的部署启动搭建私有仓库就OK了。


不不不,还没结束,项目中还没用呢


如何在项目中使用我们自己搭建的maven私有仓库?

看图吧好嘛,写字有点乏:

这里写图片描述

在pom.xml中配置了仓库坐标(注意url那里)

项目使用的是Intellij Idea

快捷键ctrl + alt + s弹出Setting,找到Maven那里

这里写图片描述

看到我标注的地方就是我们刚刚添加的私有仓库地址,然后我们点击update按钮,updated字段那里出现更新时间了,或者说没显示error字样,那么我们的私有仓库已经能正常使用了。

参考资料:

Sonatype Nexus 搭建Maven 私服

sonatype nexus 3搭建Maven私服

使用Nexus创建Maven私有仓库

网友评论

登录后评论
0/500
评论
luckcheng
+ 关注