Maven搭建Nexus私服

简介: Maven搭建Nexus私服

1 什么是私服

私服是一种特殊的远程仓库,它是架设在局域网的仓库服务,私服代理广域网上的远程仓库,供局域网使用。

在企业开发中,私服的建设是有必要的,其好处如下:

1.1 节省资金、外网带宽

利用私服代理外部仓库之后,对外的重复构件下载便得以简化,降低外网带宽压力。

1.2 加速 Maven 构建

不停地连接请求外部仓库是相当耗时的,但是 maven 的一些内部机制(如快照更新检查)要求 Maven 在执行构建的时候不停地检查远程仓库数据。因此,当项目配置了很多外部远程仓库的时候,构建速度会降低。使用私服解决这问题,因为 Maven 只需要检查局域网内私服的数据时,构建速度便有明显提高。

1.3 部署第三方构件

当某个构件无法从任何一个远程仓库获取怎么办?比如 Oracle 的 JDBC 驱动由于版权原因不能发布到公共仓库中。建立私服后,便可以将这些构件部署到这个内部仓库中,供内部 Maven 项目使用。

1.4 提高稳定性,增强控制

对于远程仓库来说,当外网不可用时,Maven 构建有可能因为依赖没有下载而不可行, 搭建并应用私服后,即使没有外网,如果该构件之前被其它人下载过就会存在私服上,此时再次依赖该构件就可以不用连接外网直接就可以从私服上下载到。同时私服软件(nexus)还提供了额外的管理功能。

1.5降低中央仓库的负荷

中央仓库是有限的。如果所有的 Maven 工程开发过程中,都通过中央仓库实现构件的依赖和管理,那么中央仓库的负荷过高,也会严重影响工程构建的效率。如果使用私服,可以分散中央仓库的负荷,只有在私服中没有需要依赖的构件时才会去连接中央仓库。

2 nexus 私服搭建

2.1搭建环境

环境:CentOS6.5、JDK7、Sonatype Nexus、Maven(Eclipse 或 MyEclipse)

2.2搭建步骤

2.2.1安装 JDK

详见我曾经写过的博客:https://blog.csdn.net/ZGL_cyy/article/details/104821483

JDK 资源包下载

JDK官方下载地址为 :http://www.oracle.com/technetwork/java/javase/downloads/index.html(jdk-7u80-linux-x64.tar.gz)

JDK 资源包解压

在 Linux 中安装应用的常用目录为:/opt 或/usr/local 目录。本课件将 JDK 安装到

/usr/local/java 目录中。

解压JDK 到指定目录:

tar -zxvf jdk-7u80-linux-x64.tar.gz -C /usr/local

重命名JDK 目录:

mv /usr/local/jdk1.7.0_80 /usr/local/java

2.2.2  环境变量配置

修改/etc/profile 配置文件,增加环境变量配置。

环境变量修改后,可以重启 Linux 实现永久生效;或执行 source /etc/profile 命令,让新修改的环境变量在当前终端中生效。

3 安装私服 Nexus

3.1 Nexus 资源包下载

Nexus 官 方 下 载 地 址 为 : https://www.sonatype.com/nexus-repository-oss 本课件应用版本为:nexus-2.11.2-03

3.2 Nexus 资源包解压

在/usr/local 目录中创建子目录 nexus: mkdir /usr/local/nexus

解压Nexus 到指定目录:

tar -zxvf nexus-2.11.2-03-bundle.tar.gz -C /usr/local/nexus

3.3 目录介绍:

Nexus 压缩包中包含两个子目录: nexus-2.11.2-03 和sonatype-work

nexus-2.11.2-03 是具体的私服应用内容,sonatype-work 是Nexus 私服下载的构件存放工作目录。

3.3 检查私服端口和工作目录

在 nexus-2.11.2-03 目录中有子目录 conf ,其中保存私服应用的配置信息。查看nexus.properties 文件,确定私服访问端口和工作目录。此操作可不做任何内容修改。配置文件内容如下:

image.png

3.3.1 修改 Nexus 运行用户

Nexus 私服在启动后,私服应用需要访问 Linux 的文件系统,所以需要有足够的权限。Nexus 的启动脚本文件中,可以指定私服应用的访问用户,此信息在 nexus-2.11.2-03/bin/nexus 脚本文件中定义。需要修改的信息如下:

image.png

1.修改文件

2.默认是注释的

3.释放

3.3.2 修改防火墙,开放 Nexus 私服端口访问

修改防火墙配置文件,开放 Nexus 私服的访问端口 8081

vi /etc/sysconfig/iptables

增加下述内容:

重新启动防火墙:

service iptables restart

3.3.3 启动并测试访问

启动Nexus 私服:

/usr/local/nexus/nexus-2.11.2-03/bin/nexus start

成功启动后,控制台输出内容如下:

可通过命令检查私服运行状态:

/usr/local/nexus/nexus-2.11.2-03/bin/nexus status

内容如下为私服运行中:

内容如下为私服未运行:

如果是not running说明启动失败,重新配置!

也可使用浏览器访问 Nexus 私服WEB 应用, 访问地址为:

http://ip:8081/nexus (ip 为 Nexus 所在系统的访问 IP),访问效果如下:

总结:

此时配置成功,最重要的步骤是修改用户权限,让root来运行!

目录
相关文章
|
7月前
|
Java Linux Maven
Linux系统Docker部署Nexus Maven并实现远程访问本地管理界面
Linux系统Docker部署Nexus Maven并实现远程访问本地管理界面
192 3
|
7月前
|
Java Linux Maven
私有仓库工具Nexus Maven如何部署并实现远程访问管理界面
私有仓库工具Nexus Maven如何部署并实现远程访问管理界面
182 0
|
Java 测试技术 Apache
【Maven】常用命令、插件管理、私服nexus
【Maven】常用命令、插件管理、私服nexus
106 0
|
存储 Java Maven
maven在尝试访问nexus存储库时得到“未授权” Not authorized , ReasonPhrase:Unauthorized
maven在尝试访问nexus存储库时得到“未授权” Not authorized , ReasonPhrase:Unauthorized
717 0
|
4月前
|
敏捷开发 Java 持续交付
阿里云云效产品使用合集之maven仓库是否可以代替自建的Nexus
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
4月前
|
Java jenkins 持续交付
jenkins学习笔记之十七:使用插件及maven上传制品到nexus
jenkins学习笔记之十七:使用插件及maven上传制品到nexus
|
7月前
|
Java Maven 数据安全/隐私保护
Nexus【应用 01】上传jar包到私有Maven仓库的两种方法:手动 Upload 和 mvn deploy 命令(配置+操作流程)
Nexus【应用 01】上传jar包到私有Maven仓库的两种方法:手动 Upload 和 mvn deploy 命令(配置+操作流程)
2674 0
|
7月前
|
存储 Java Maven
|
7月前
|
存储 Java Maven
从零开始使用Nexus搭建你的Maven私服(Windows系统)
作为开发人员,我们经常需要依赖于Maven来管理项目的依赖,但是在工作中可能会遇到网络不稳定、依赖库被删除等问题。为了解决这些问题,搭建一个Maven私服是一个理想的选择。本文将介绍如何在Windows系统环境下使用Nexus来搭建Maven私服。
990 0
从零开始使用Nexus搭建你的Maven私服(Windows系统)
|
Java Linux Maven
nexus搭建maven私有仓库
nexus搭建maven私有仓库
447 4
nexus搭建maven私有仓库