Nexus是什么?
Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。利用Nexus你可以只在一个地方就能够完全控制访问和部署在你所维护仓库中的每个Artifact。Nexus是一套“开箱即用”的系统不需要数据库,它使用文件系统加Lucene来组织数据。Nexus使用ExtJS来开发界面,利用Restlet来提供完整的REST APIs,通过m2eclipse与Eclipse集成使用。Nexus支持WebDAV与LDAP安全身份认证。
安装前环境
必须安装jdk1.7 ,强依赖。
下载相应文档开始安装
tar zxvf nexus-2.12.0-01-bundle.tar.gz
解压出 nexus-2.12.0 和 sonatype-work 。
本地仓库默认的jar包存储位置是:/sonatype-work/nexus/storage/central,由于资源包非常大注意移动到合适的位置 mv nexus-2.12.0 /home/nexus/ mv sonatype-work/ /home/nexus
1.开始配置:
vi /home/nexus/nexus-2.12.0-01/conf/nexus.properties
# 配置端口信息
application-port=8081
application-host=0.0.0.0
nexus-webapp=${bundleBasedir}/nexus
#配置IP端口访问
#http://192.168.10.56:8081/nexus/可修改为: /
nexus-webapp-context-path=/nexus
# Nexus section
#配置work目录地址,Maven仓库JAR缓存地址,可修改其他地址eg:${bundleBasedir}/nexus-work/nexus
nexus-work=${bundleBasedir}/../sonatype-work/nexus
runtime=${bundleBasedir}/nexus/WEB-INF
vi /home/nexus/nexus-2.12.0/bin/nexus
#如果目录改变配置,如果修改了运行路径
NEXUS_HOME="/home/nexus/nexus-2.11.1-01"
#nexus启动用户
RUN_AS_USER=root
2.开发防火墙端口,并重启防火墙
firewall-cmd --zone=public --add-port=8081/tcp–permanent
firewall-cmd --reload
3. 启动nexus服务
Bin目录./nexus start
4. nexus开机启动
cd /home/nexus/nexus-2.12.0/bin
cp nexus /etc/rc.d/init.d/
cd /etc/rc.d/init.d/
chkconfig --add nexus
chkconfig --list | grep nexus
chkconfig nexus on
chkconfig --list | grep nexus
5.访问配置
http://localhost:8081/nexus
1).点击左侧 Repositories将所有Type 是 proxy 的 configuration配置选项中的 Download Remote Index 配置改为 True
如果需要代理将配置最下面的Override Http Proxy Setting 勾上并填写代理服务器地址和端口,最后保存设置
2).然后在列表中分别右键点击 ReIndex
3).添加自己的jar到nexus
选中 3rd party , Artifact Upload 标签
GAV Definition 选择GAV Parameters
填写 Group Artifact version packaging
然后选择jar包上传提交即可
6.简述maven配置中两个setting文件的关系。
settings.xml对于maven来说相当于全局性的配置,用于所有的项目。在maven2中存在两个settings.xml。
一个位于maven2的安装目录conf下面,作为全局性配置。对于团队设置,保持一致的定义是关键,所以maven2/conf下面的settings.xml就作为团队共同的配置文件。保证所有的团队成员都拥有相同的配置。
另外,对于每个成员,都需要特殊的自定义设置,如用户信息,所以另外一个settings.xml就作为本地配置。默认的位置为:C:/Users/.m2 /settings.xml目录中(指windows 中的用户目录)。
7.maven 配置
在setting.xml中设置将镜像配置。
eg :
<mirrors>
<mirror>
<id>local_mirror</id>
<mirrorOf>*</mirrorOf>
<name>local_mirror</name>
<url>http://IP:8081/content/groups/public/</url>
</mirror>
</mirrors>