使用nexus搭建内部Maven仓库及使用简介

由于项目组需要,要搭建内部的Maven仓库,借鉴项目组内部及外部同事的经验选用nexus来搭建内部仓库。下面描述一下具体的步骤。

一、安装配置过程
1.下载nexus,地址http://www.sonatype.org/nexus/
nexus版本有内嵌Jetty的bundle版本和war版本。内嵌Jetty的bundle版本直接可以独立运行,但由于内部一直用的Tomcat容器,所以选用了war版本。直接放到Tomcat下的webapps目录下即可

2.安装及配置步骤
把nexus-2.0.5.war放到Tomcat下的webapps目录,让Tomcat解压。
修改一下配置\nexus-2.0.5\WEB-INF\plexus.properties。更改nexus存放repository的根目录
nexus-work=[b]D:/java/MavenRepository/[/b]sonatype-work/nexus,原来的是usr.dir我试了一下是在c盘根目录下,我就改到这里了。

3.配置nexus
如下图:
[img]http://dl.iteye.com/upload/attachment/0069/7841/65055d99-a1df-3fd6-892a-3bf7fc0f93e5.jpg[/img]
依次登陆,配置Central的Repository。这个是一个proxy类型的Repository,用来代理别的如官方的Repository,能帮你自动下载,我们也可以再添加别的proxy类型的Repository。
需要注意,改下URL(推荐http://www.mvnsearch.org/maven2/),Download Remote Indexes改为true。
[img]http://dl.iteye.com/upload/attachment/0069/7847/9166a7a1-28d7-3bc8-92d5-06fd065ac2b3.jpg[/img]

配置下Release Repository,其中Deployment Policy配置为允许重新部署。这个是本地Repository,主要用来存放组内的jar包的。

配置3rd Party Repository,也是本地Repository,主要是存放在maven官方下不到的,第三方的jar包。

配置Public Repository,Repository组。这个主要是给我们用来下载jar包的。把有可能用到的代理或者本地Repository都加进来,全部对外可见。

4.更新Repository的index
在更新之前是看不到任意jar包的,要更新下索引才行。右键public repository,更新index。会把public组包含的Repository的索引都更新。(如果更新不了,自己挨个手动更新,再重启容器试试)。更新会比较慢,但不会在前台显示,你可以再后台看看网络流量或者Repository存放目录的index的变化情况。

5.搜索jar包,如搜索log4j。如果可以搜索到,代表安装,配置,更新索引都成功了。

二、使用
1.在maven工程中添加对本地Repository的依赖
代码如下:优先搜索本地Repository,找不到再去别的地方找
<repositories>
<repository>
<id>136</id>
<name>136 Repository</name>
<url>http://192.168.85.136:28080/nexus-2.0.5/content/groups/public/</url>
</repository>
<repository>
<id>jboss-cache</id>
<name>jboss-cache</name>
<url>http://repository.jboss.org/maven2</url>
</repository>
<repository>
<id>mvnsearch</id>
<name>mvnsearch Maven Repository</name>
<url>http://www.mvnsearch.org/maven2</url>
</repository>
</repositories>


2.把组内共用jar包上传
两种方式,手动上传,简单就不介绍了,但是要自己填写版本之类的东西
重点介绍下使用maven上传

首先,修改maven的配置文件 setting.xml
<settings>  
...
<servers>
<server>
<id>nexus-releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>nexus-snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
...
</settings>


然后,在项目的pom.xml中加入如下配置。
<project>  
...
<distributionManagement>
<repository>
<id>nexus-releases</id>
<name>Nexus Release Repository</name>
<url>http://127.0.0.1:8080/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<name>Nexus Snapshot Repository</name>
<url>http://127.0.0.1:8080/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
...
</project>


最后,在命令行运行 mvn deploy即可,注意要把项目生成release,不是snapshot的。
我的eclipse里没有mvn deploy选项,我就用命令行这种比较笨的方式,但是也比较好使。

三、个人理解
1.搭建本地仓库的目的之一是为了节省从官方repository下载jar包的时间(现在从局域网下载)
2.另外还有一个目的是管理第三方jar包和组内编写的jar包。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值