[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私有仓库迁移如何解决
云效(CloudEfficiency)是阿里云提供的一套软件研发效能平台,旨在通过工程效能、项目管理、质量保障等工具与服务,帮助企业提高软件研发的效率和质量。本合集是云效使用中可能遇到的一些常见问题及其答案的汇总。
60 0
|
4天前
|
Java Linux Maven
Linux系统Docker部署Nexus Maven并实现远程访问本地管理界面
Linux系统Docker部署Nexus Maven并实现远程访问本地管理界面
106 3
|
4天前
|
Java Linux Maven
私有仓库工具Nexus Maven如何部署并实现远程访问管理界面
私有仓库工具Nexus Maven如何部署并实现远程访问管理界面
71 0
|
4天前
|
Java Maven 数据安全/隐私保护
Nexus【应用 01】上传jar包到私有Maven仓库的两种方法:手动 Upload 和 mvn deploy 命令(配置+操作流程)
Nexus【应用 01】上传jar包到私有Maven仓库的两种方法:手动 Upload 和 mvn deploy 命令(配置+操作流程)
479 0
|
4天前
|
存储 Java Maven
|
4天前
|
存储 Java Maven
从零开始使用Nexus搭建你的Maven私服(Windows系统)
作为开发人员,我们经常需要依赖于Maven来管理项目的依赖,但是在工作中可能会遇到网络不稳定、依赖库被删除等问题。为了解决这些问题,搭建一个Maven私服是一个理想的选择。本文将介绍如何在Windows系统环境下使用Nexus来搭建Maven私服。
209 0
从零开始使用Nexus搭建你的Maven私服(Windows系统)
|
4天前
|
存储 Java Linux
Nexus【部署 01】CentOS 7.5 环境下搭建私有Maven仓库实录(启动问题处理+安装文件 nexus-3.4.0-02-unix.tar.gz 云盘链接)
Nexus【部署 01】CentOS 7.5 环境下搭建私有Maven仓库实录(启动问题处理+安装文件 nexus-3.4.0-02-unix.tar.gz 云盘链接)
142 0
|
3天前
|
Java Maven
SpringBoot项目的用maven插件打包报Test错误
SpringBoot项目的用maven插件打包报Test错误
|
4天前
|
Java Apache Maven
Maven 项目文档
在 `C:/MVN` 目录下创建 Maven 项目 `consumerBanking` 使用命令:`mvn archetype:generate -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false`。为解决 `mvn site` 命令执行时的 `NoClassDefFoundError`
|
1天前
|
Java Apache Maven
Maven 项目文档
在C:/MVN下,使用命令`mvn archetype:generate -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false`创建Maven Java项目。确保`pom.xml`包含`maven-site-plugin`和`maven-project-info-reports-plugin`配置,版本分别至少为3.3和2.7,以避免`NoClassDefFoundError`。