Linux下安装配置Nexus
一、安装和运行nexus
1、下载nexus:http://www.sonatype.org/nexus/go
可选择tgz和zip格式,以及war,选择tgz或zip时不同版本可能在启动时存在一定问题,可能是因为jdk版本问题,若无法启动请选择2.5或更早的版本
注:nexus 2.6版本之后不再支持jdk1.6
2、安装nexus
若下载war,则将其放置tomcat下的webapp目录中,改名为nexus,运行tomcat服务,即可访问http://localhost:8081/nexus 默认用户名:admin;密码admin123
若下载tgz或者zip,将其解压至usr/local/目录下(也可自己指定目录),在root/Download目录下:
cp nexus-2.2-01-bundle.zip /usr/local
unzip nexus-2.2-01-bundle.zip
或者
cp nexus-2.2-01-bundle.tar.gz /usr/local
tar xvzf nexus-2.2-01-bundle.tar.gz
为了方便更新和切换版本,创建链接,更新或者切换版本只需更新链接即可:
ln -s nexus-2.2-01 nexus
3、运行nexus
在没有安装为service的情况下运行nexus。
若为较新版本:
cd /usr/local/nexus
./bin/nexus start
若启动成功,nexus会监听8081端口,在日志中可进行查看
tail -f logs/wrapper.log
较早的版本需要进入平台目录下进行启动(较新版本也可以进行启动)
cd /usr/local/nexus/
./bin/jsw/linux-x84-64/nexus start
浏览器中输入http://localhost:8081/nexus即可进入
4、安装nexus为service
以root用户身份,设置为系统服务
cd /etc/init.d
cp /usr/local/nexus/bin /nexus ./nexus
chmod 755 /etc/init.d/nexus
在Red Hat, Fedora, and CentOS中增加nexus服务
$ cd /etc/init.d
增加nexus服务
$ chkconfig --add nexus
添加运行级别3、4、5
$ chkconfig --levels 345 nexus on
启动nexus
$ service nexus start
验证关系成功启动
$ tail -f /usr/local/nexus/logs/wrapper.log
编辑/etc/init.d/nexus的文本
NEXUS_HOME="/usr/local/nexus"
PIDDIR="${NEXUS_HOME}"
RUN_AS_USER = "nexus" 此处用户名可随意选择,最好不要是root
注:①如果使用root,未创建其它用户,则改为root(不建议使用root)
②如果使用该设置,需要:
• nexus 用户存在
useradd nexus
• 更改nexus 安装目录的Owner和Group为nexus
chown nexus nexus nexus
启动服务
service nexus start
二、配置maven使用nexus
这里先对Maven的安装作一简单介绍:
下载maven安装包,如apache-maven-3.1.0-bin.tar.gz,并解压
cp apache-maven-3.1.1-bin.tar.gz /usr/local/
tar –zxvf apache-maven-3.1.1-bin.tar.gz
ln –s apache-maven-3.1.1 maven
编辑/etc/profile文件,添加如下代码
export MAVEN_HOME=/opt/apache-maven-3.2.1
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
可运行以下命令检查maven安装:
显示路径
echo $MAVEN_HOME
显示信息即成功
mvn -v
接下来要使用Nexus,则需要配置Maven去检查Nexus而非公共的仓库。
创建~/.m2/settings.xml(初始状态下该文件不存在),编辑内容:
<settings>
<profiles>
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>central-snapshots</id>
<url>http://localhost:8081/nexus/content/groups/public-snapshots</url>
<releases><enabled>false</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
<repository>
<id>central-releases</id>
<!-- url原为http://central,指向http://repos.d.xxx.com/nexus/content/groups/public 其中xxx一般为公司名--->
<url>http://localhost:8081/nexus/content/groups/public</url>
<!-- 表示可以从此仓库下载release版本 -->
<releases><enabled>true</enabled></releases>
<!-- 表示不可以从此仓库下载snapshot版本 -->
<snapshots><enabled>false</enabled></snapshots>
</repository>
</repositories>
<!-- 插件仓库 -->
<pluginRepositories>
<pluginRepository>
<id>central-snapshots</id>
<url>http://localhost:8081/nexus/content/groups/public-snapshots</url>
<releases><enabled>false</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</pluginRepository>
<pluginRepository>
<id>central-releases</id>
<url>http://localhost:8081/nexus/content/groups/public</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>false</enabled></snapshots>
</pluginRepository>
</pluginRepositories>
<servers>
<server>
<!--配置所有的releases版本构件部署Nexus的releases仓库中-->
<id>nexus-releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<!--配置所有的snapshot版本构件部署到Nexus的Snapshots仓库中-->
<id>nexus-snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
</profile>
<!-- 配置activeProfiles后,此处添加snapshots,可以使snapshots被搜索到。-->
</profiles>
<!--添加id,激活profile。-->
<activeProfiles>
<activeProfile>nexus</activeProfile>
</activeProfiles>
</settings>
注:将nexus配置成所有仓库的镜像之后,maven会从本地的nexus安装查阅,而非去外面查阅中央maven仓库。如果对nexus有一个构件请求,本地的nexus安装会提供这个构件;如果Nexus没有这个构件,nexus会从远程仓库获取这个构件,然后添加至远程仓库的本地镜像。
三、配置nexus仓库
Nexus有许多默认仓库:Central,Releases,Snapshots,和3rd Party
1.配置central仓库
Nexus内置了Maven中央代理仓库Central。选择仓库列表中的 Central,如图3.1:

图3.1
点击Configuration进行配置:
Repository Policy为release,则不会代理远程仓库的snapshot构件(snapshot版本构件不稳定且不受控制,使用这样的构件含有潜在的风险)。
“Remote Storage Location”为远程仓库地址,http://repo.maven.org/maven2/ ;
“Download Remote Indexes”是否下载远程索引文件,默认为False,(中央仓库有大量的构件,其索引文件也很大,容易消耗大量的 中央仓库带宽)。将其设置为True(其他代理仓库也需要改成True),然后点击Save。在Nexus下载的中央仓库索引文件之后,我们就可以在本地搜索中央仓库的所有构件。
2.Releases用于部署自己的release构件,Snapshots用于自己的snapshot构件。3rd Party用于部署第三方构件,修改Configuration下Deployment Policy为Allow Redeploy,则可以在Artifact Upload中上传本地文件。
新增代理仓库
1.新增代理仓库。如图3.2

图3.2 nexus新增代理仓库
2.添加信息具体。如图3.3

3.3 添加仓库信息
3.添加仓库至组
添加仓库到公共nexus仓库组。如图3.4
Ordered Group Repositories:已在使用中的仓库。检索顺序与排序一致
Available Repositories:已有未被使用

如图3.4
四、用户使用
1.在开发环境中替换/rhome/用户名/.m2 目录下的文件settings.xml(新环境中可能没有此文件);
2.修改maven安装目录下/conf/settings.xml文件。修改成干净的文件。
<localRepository>/workspace/repository</localRepository>此标签可以修改本地仓库路径,也可以在eclipse中User Settings中设置。
3.在【工程名】下面执行 mvn clean install,即从私服里面下载pom文件里的 jar 包;
4.在eclipse开发工具中 clean 【工程名】,刷新jar包目录即可;
Linux下安装配置Nexus的更多相关文章
- Linux 下安装配置 JDK7
Linux 下安装配置 JDK7 配置环境(debian 7) 自从从Oracle收购Sun近三年来,已经有很多变化.早在8月,甲骨文将“Operating System Distributor Li ...
- (转载)Linux下安装配置MySQL+Apache+PHP+WordPress的详细笔记
Linux下安装配置MySQL+Apache+PHP+WordPress的详细笔记 Linux下配LMAP环境,花了我好几天的时间.之前没有配置过,网上的安装资料比较混乱,加上我用的版本问题,安装过程 ...
- linux 下安装配置jboss as7以及部署应用
linux 下安装配置jboss as7以及部署应用 1.测试平台及软件 centos 5.4 jdk-7u5-linux-i586.rpm jboss-as-7.1.1.Final.zip jbos ...
- Linux下安装配置与使用MySQL数据库
Linux下安装配置与使用MySQL数据库 在Linux下安装做开发时往往少不了要使用到MySQL数据库,下面就Linux系统为例讲解一下,如何安装MySQL数据库,如何启用/停.止MySQL服务,如 ...
- 在linux下安装配置rabbitMQ详细教程
在linux下安装配置rabbitMQ详细教程 2017年12月20日 17:34:47 阅读数:7539 安装Erlang 由于RabbitMQ依赖Erlang, 所以需要先安装Erlang. Er ...
- Linux下安装配置MySQL5.7服务器
Linux下安装配置MySQL服务器 一.安装环境 ============ OS:centos6.8 MySQL:mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz ...
- Linux下安装配置Jmeter5.1,并执行jmx文件
Windows下的jmeter是GUI模式,可查看操作,但是GUI对性能的干扰比较大,所有一般压测会在Linux上运行. 下面是Linux下安装配置Jmeter5.1,并执行jmx文件的步骤, 一.安 ...
- linux下安装配置svn服务器
linux下安装配置svn服务器 1. svn服务器安装 将subversion-1.4.0.tar.gz和subversion-deps-1.4.0.tar.gz传到服务器. tar xfvz su ...
- Kali Linux 下安装配置MongoDB数据库 ubuntu 下安装配置MongoDB源码安装数据库
Kali Linux 下安装配置MongoDB数据库 1.下载mongodb.tgz 压缩包: 2.解压到:tar -zxvf mongodb.tgz /usr/local/mongodb 3.创 ...
随机推荐
- 比较下OceanBase的选举协议和Raft的选举协议的区别
阿里技术大讲堂OceanBase专场中曾有专门一场讲座介绍OB自己实现的分布式选举算法:<分布式选举-破解数据库高可用性难题> 这里简单列一下这个选举算法和raft论文中提到的选举算法的区 ...
- [leetode]Binary Search Tree Iterator
用个stack模拟递归即可 /** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * Tr ...
- 关于WPF的退出
如果你在创建项目的时候细心的查看一下项目的结构,你会发现里面有一个App.xaml,一见到App我们知道是应用程序的关键了配置了,当然,WPF的启动窗体也在这里面设置的. 我们可以在App的中配置启动 ...
- 完成端口CreateIoCompletionPort编写高性能的网络模型程序
1.同步网络模型:就是服务端同步阻塞等待客户端的请求,然后继续操作后续处理,缺点是性能低. 2.同步通讯+多线程模型:服务端为每个客户端分配线程,这个线程就负责这个客户端,同步通讯,同步处理这个客户端 ...
- Access导出csv 内容添加双引号 vba
要求:导出的csv文件,用文本工具打开时,文字内容需要有双引号,如下:"1","name1","name2","" 我之 ...
- codeforces C. Diverse Permutation(构造)
题意:1...n 的全排列中 p1, p2, p3....pn中,找到至少有k个 |p1-p2| , |p2-p3|, ...|pn-1 - pn| 互不相同的元素! 思路: 保证相邻的两个数的差值的 ...
- window xp Apache与Tomcat集群配置--转载
转载地址:http://www.cnblogs.com/obullxl/archive/2011/06/09/apache-tomcat-cluster-config.html 一. 环境说明 Win ...
- LeetCode——Find the Duplicate Number
Description: Given an array nums containing n + 1 integers where each integer is between 1 and n (in ...
- js关于对象键值为数字型时输出的对象自动排序问题的解决方法
一.对象键值为数字型时输出的对象自动排序问题如: var objs = { "1603":{id:"1603"}, "1702" ...
- WCF回顾一、基本概念和应用场景
一.WCF描述 wcf是一款基于面向服务的架构的通讯框架平台,在分布式框架中得到了广泛使用. wcf入门非常简单,只要花几分钟就能编写一个完整的wcf程序,而实际上WCF是概念非常多的一门技术,需要花 ...