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

简介: 环境: Sonatype Nexus、 Ubuntu16.04、 Maven3、 Intellij Idea等整体搭建思路: 在服务器A上部署Sonatype Nexus进行Maven仓库管理,在其他环境的项目...

环境:
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私有仓库

目录
相关文章
|
4月前
|
敏捷开发 Java 持续交付
阿里云云效产品使用合集之maven仓库是否可以代替自建的Nexus
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
5月前
|
Java Linux Maven
Maven 仓库
Maven仓库管理构件(如JARs):本地仓库在首次执行时创建,默认位于`%USER_HOME%/.m2/repository/`;远程仓库包括中央仓库,存放大量开源Java构件,可在线浏览<http://search.maven.org/>。若本地缺失构件,Maven会从远程下载至本地。可通过settings.xml配置本地仓库路径。
|
2月前
|
XML 安全 Java
【Maven】依赖管理,Maven仓库,Maven核心功能
【Maven】依赖管理,Maven仓库,Maven核心功能
608 3
|
4月前
|
Java jenkins 持续交付
jenkins学习笔记之十七:使用插件及maven上传制品到nexus
jenkins学习笔记之十七:使用插件及maven上传制品到nexus
|
4月前
|
敏捷开发 JavaScript Java
阿里云云效产品使用合集之如何进行Maven私有仓库迁移
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
5月前
|
Java Maven
maven开源仓库
maven开源仓库
121 6
|
5月前
|
Java Linux Maven
Maven 仓库
Maven仓库管理构件,包括依赖和插件。有本地、中央和远程三种类型。本地仓库在首次运行时创建,默认在用户目录的`.m2/repository`。Maven首先查找本地仓库,若无则从远程仓库(如中央仓库)下载。中央仓库包含大量开源Java构件,可在线浏览于http://search.maven.org/。
|
6月前
|
Java Linux Maven
Maven 仓库
Maven仓库管理依赖,包括本地、中央和远程仓库。本地仓库在首次运行时创建,默认位于用户目录的`.m2/repository`。若本地缺少构件,Maven会从远程仓库下载,中央仓库是默认的远程源,包含大量开源Java构件。中央仓库无需配置,可通过HTTP访问,[search.maven.org](http://search.maven.org/#browse)可浏览其内容。
|
6月前
|
Java Maven
maven常用仓库
maven常用仓库
188 2
|
6月前
|
存储 Java Maven
win自定义配置本地maven仓库位置,修改maven仓库位置
win自定义配置本地maven仓库位置,修改maven仓库位置
143 0
win自定义配置本地maven仓库位置,修改maven仓库位置