Linux 搭建 nexus 私服【转】
- 原文:https://yq.aliyun.com/articles/5981
第8章 私服nexus
本章详细介绍了nexus的安装过程,设置maven从私服下载构件,以及发布构件至nexus。
8.1 什么是nexus
nexus是一个web版的仓库管理软件
8.2 nexus安装
nexus安装非常简单。
下载地址:http://www.sonatype.org/nexus/go
本文以Linux环境为例,安装nexus:
1. 首先在/usr/local下建nexus目录
2. 将下载的zip包解压,将其中的nexus-2.11.4-01解压至nexus如图:
- 进入bin目录,将nexus设置为可执行权限:
cd bin
chmod +x nexus
设置root可执行nexus
默认的nexus是不让root用户直接启动的,会报出如下错误`WARNING - NOT RECOMMENDED TO RUN AS ROOT`
`If you insist running as root, then set the environment variable RUN_AS_USER=root before running this script.`
需要设置root执行权限
export set RUN_AS_USER=root
此语句仅临时设置root变量,重启linux后会无效,如需持久设置,需要修改环境变量,见以下步骤。
- 此时执行
./nexus start
即可启动nexus。
- 停止nexus
./nexus stop
配置环境变量,设置开机启动
- 设置环境变量:
vim /etc/profile
在最后一行添加export set RUN_AS_USER=root
- 设置开机启动
进入到配置目录:
cd /etc/init.d
复制脚本cp /usr/local/nexus/bin/nexus nexus
添加系统服务:chkconfig --add nexus
设置启动级别为345:chkconfig --levels 345 nexus on
查看是否添加成功:chkconfig --list|grep nexus
,如图
- 修改脚本
vim /etc/init.d/nexus
第一行添加:
RUN_AS_USER="root"
然后,将NEXUS_HOME=".."
修改为NEXUS_HOME="/usr/local/nexus"
如图:
- 重启Linux
reboot
- 访问地址:
http://<LinuxIP>:8081/nexus/#welcome
注意:重启Linux需要一段时间,不断刷新此地址即可。
查看nexus是否启动,`ps –ef|grep nexus`。

8.3 nexus仓库设置
8.3.1 登录系统,修改密码
nexus默认的管理员密码是admin/admin123,为了安全起见,第一件事就是上来修改管理员密码。
8.3.2 nexus内置仓库介绍
1、 仓库类型介绍
仓库类型 | 介绍 |
---|---|
group | 仓库组 |
hosted | 宿主仓库 |
proxy | 代理仓库 |
virtual | 虚拟仓库 |
2、 仓库介绍
仓库 | 介绍 |
---|---|
3rd party | 这是一个策略为Releases的宿主仓库,用来部署无法从公共仓库获得的第三方发布版本构件 |
Apache Snapshots | 这是一个策略为Snapshots的代理仓库,用来代理ApacheMaven仓库的快照版本构件 |
Central | 这是一个策略为Releases的代理仓库,用来代理maven中央仓库中发布的版本构件 |
Central M1 shadow | 这是一个策略为Releases的虚拟仓库,用来提供中央仓库中M1格式的发布版本的构件 |
Codehaus Snapshots | 这是一个策略为Snapshots的代理仓库,用来代理Codehaus Snapshots仓库的快照版本构件的仓库 |
Releases | 这是一个策略为Releases的宿主仓库,用来部署管理内部的发布版本构件 |
Snapshots | 这是一个策略为Snapshots的宿主仓库,用来部署管理内部的快照版本构件 |
8.3.3 索引
开启远程索引
一个新搭建的nexus,是一个空的仓库,nexus默认是关闭远程索引下载,打开步骤如图:注意:3个proxy类型的远程索引都需要打开
然后在3个proxy类型的仓库上,点击右键,Repair Index,nexus就会去下载远程的索引文件。
测试
在Browse Remote 中搜索任意jar
8.3.4 创建宿主仓库
8.3.5 仓库组设置
- 什么是仓库组?
仓库组是将多个仓库聚合成一个仓库地址,为maven提供服务。maven配置中,只需要配置仓库组的链接,即可同时得到多个仓库的构件。
仓库组中仓库的顺序决定了仓库组遍历其所含仓库的次序,所以应该将常用的仓库放在前面。
仓库组设置很简单:
点击type为group类型的仓库,configuration标签页中Ordered Group Repositories为当前组包含仓库,available repositories为可继续添加的仓库。
8.4 配置maven从私服下载构件
前面安装了nexus,目的就是让开发人员的maven链接私服下载构件。
修改maven配置文件setting.xml
找到profiles标签,设置代码:
<profiles>
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>nexus</id>
<name>crop-nexus</name>
<url>http://你的NexusIP:8081/nexus/content/groups/public/</url>
<releases>
<!-- true表示开启仓库发布版本下载,false表示禁止 -->
<enabled>true</enabled>
</releases>
<snapshots>
<!-- true表示开启仓库快照版本下载,false表示禁止 -->
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<url> http://你的NexusIP:8081/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<!-- 禁止快照版本,防止不稳定的插件影响项目构建 -->
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<!-- 激活nexus私服 -->
<activeProfiles>
<activeProfile>nexus</activeProfile>
</activeProfiles>
这样配置,maven就可以从私服下载构件了,但是会有个问题,他还会时不时的请求中央仓库,如果想完全让maven访问nexus私服,需要设置镜像mirrors来支持。
8.5 maven的镜像配置
maven配置镜像后,所有的构件都只会从镜像服务器下载。
<mirrors>
<mirror>
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<name>crop-nexus</name>
<url>http://你的nexusIP:8081/nexus/content/groups/public/</url>
</mirror>
</mirrors>
8.6 发布构件至nexus
8.6.1 配置distributionManagement
发布仓库一般分为Releases版和snapshot版,所以要配置2个仓库地址
注意:这个是在项目的pom.xml中配置的
<!-- 发布构件至私服nexus -->
<distributionManagement>
<repository>
<id>nexus-releases</id>
<name>corp nexus-releases</name>
<url>http://你的nexusIP:8081/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>nexus-snapshot</id>
<name>corp nexus-snapshot</name>
<url>http://你的nexusIP:8081/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
8.6.2 设置用户
配置好pom.xml后,需要指定发布用户,在setting.xml中设置:
<servers>
<!-- 发布Releases版的账号,ID要与distributionManagement中的Releases ID一致 -->
<server>
<id>nexus-releases</id>
<username>admin</username>
<password>******</password>
</server>
<!-- 发布snapshot版的账号,ID要与distributionManagement中的snapshot ID一致 -->
<server>
<id>nexus-snapshot</id>
<username>admin</username>
<password>******</password>
</server>
</servers>
设置完成,使用命令发布至nexus
mvn deploy
在nexus中查看
Linux 搭建 nexus 私服【转】的更多相关文章
- linux 搭建 nexus 私服及配置
安装篇 1.tar -zxvf nexus-latest-bundle.tar.gz 2.cd nexus-2.13.0-01/bin 3../nexus start 这时可能提示 ********* ...
- Linux安装配置maven以及搭建nexus私服(编写启动脚本)
2011年07月12日16:32 下面介绍在Linux操作系统下安装配置maven和搭建nexus私服. 一.安装前的准备 下载 jdk http://www.oracle.com/technetw ...
- Linux 安装配置maven3.0 以及搭建nexus私服
http://carvin.iteye.com/blog/785365 一.软件准备 1.apache-maven-3.0-bin.tar.gz 下载地址:http://www.apache.org/ ...
- Linux 搭建Nexus
Linux 安装Maven和nexus代理仓库 1 说明 环境:redhat Enterprise Linux Server5.3-x64. 版本:Maven 3.0.5 ,Nexus-2.5. ...
- Linux_Centos中搭建nexus私服
1.在Linux下搭建Nexus私服 1).下载并且解压 下载 nexus-2.11.2-03-bundle.zip unzip nexus-2.11.2-03-bundle.z ...
- 搭建nexus私服,无法下载相关jar包,报错Repository proxy-mode is BLOCKED_AUTO
在搭建nexus私服的时候,之前没直接用来下载maven的相关插件jar包,一直可以使用, 结果今天要编译hadoop的时候,在linux上新用maven就报错了,无法下载maven的相关插件(如下) ...
- 搭建nexus私服(maven)
这里提供nexus的直接下载页面的链接: https://www.sonatype.com/download-oss-sonatype maven获取依赖jar包是从中央仓库获取,但很莫名的出现jar ...
- Linux搭建Nexus仓库+高可用方案
Linux搭建nexus仓库 1.安装jdk 1.1 获取安装包,解压到指定目录: tar xf jdk.tar.gz -C /opt/export 1.2 配置环境变量: # vim /etc/pr ...
- 搭建nexus私服
一.安装 1.从网上下载nexus软件https://www.sonatype.com/download-oss-sonatype 下载Nexus Repository Manager OSS软件包 ...
随机推荐
- 第八届蓝桥杯国赛java B组第三题
标题:树形显示 对于分类结构可以用树形来形象地表示.比如:文件系统就是典型的例子. 树中的结点具有父子关系.我们在显示的时候,把子项向右缩进(用空格,不是tab),并添加必要的连接线,以使其层次关系更 ...
- POJ - 1062(昂贵的聘礼)(有限制的spfa最短路)
题意:...中文题... 昂贵的聘礼 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 54350 Accepted: 16 ...
- 03 Zabbix常用的术语
03 Zabbix常用的术语 host(主机): 要监控的网络设备,可由IP或DNS名称指定 host group(主机组):主机的逻辑容器,可以包含主机和模板,但同一个组内的主机和模板不能互相链接: ...
- 【转】#pragma pack(push,1)与#pragma pack(1)的区别
这是给编译器用的参数设置,有关结构体字节对齐方式设置, #pragma pack是指定数据在内存中的对齐方式. #pragma pack (n) 作用:C编译器将按照n个字节对 ...
- 洛谷 P4475 巧克力王国 解题报告
P4475 巧克力王国 题目描述 巧克力王国里的巧克力都是由牛奶和可可做成的.但是并不是每一块巧克力都受王国人民的欢迎,因为大家都不喜欢过于甜的巧克力. 对于每一块巧克力,我们设 \(x\) 和 \( ...
- 使用fiddler模拟http请求
概述 与httpwath相比,fiddler能模拟http请求.能断点调试.http分析统计吸引了我,使用之后感觉这个工具非常不错,这篇文章只单介绍一下fiddler工作原理,简单介绍一下它的重要功 ...
- java 反射 子类泛型的class
很早之前写过利用泛型和反射机制抽象DAO ,对其中获取子类泛型的class一直不是很理解.关键的地方是HibernateBaseDao的构造方法中的 Type genType = getClass() ...
- C++ 容器:顺序性容器、关联式容器和容器适配器
什么是容器 首先,我们必须理解一下什么是容器,在C++ 中容器被定义为:在数据存储上,有一种对象类型,它可以持有其它对象或指向其它对像的指针,这种对象类型就叫做容器.很简单,容器就是保存其它对象的对象 ...
- JSON必知必会,浅尝辄止的整理
在使用JSON时常见的安全漏洞通常发生在JavaScript从服务器获取到一段JSON字符串并将其转化为JavaScript对象时, 在定位JSON安全问题时,应该记住三件事情: 1.不要使用顶级数组 ...
- 拦截器的使用,配置手机浏览器访问的h5页面
package com.thinkgem.jeesite.modules.sys.interceptor; import javax.servlet.http.HttpServletRequest; ...