使用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= D:/java/MavenRepository/sonatype-work/nexus,原来的是usr.dir我试了一下是在c盘根目录下,我就改到这里了。

 完毕后输入 http://localhost:8081/nexus
默认
username:   admin
pwd:             admin123
3.配置nexus
如下图:

依次登陆,配置Central的Repository。这个是一个proxy类型的Repository,用来代理别的如官方的Repository,能帮你自动下载,我们也可以再添加别的proxy类型的Repository。
需要注意,改下URL(推荐http://www.mvnsearch.org/maven2/),Download Remote Indexes改为true。


配置下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,找不到再去别的地方找
Java代码 复制代码  收藏代码
  1. <repositories>   
  2.         <repository>   
  3.             <id>136</id>   
  4.             <name>136 Repository</name>   
  5.             <url>http://192.168.85.136:28080/nexus-2.0.5/content/groups/public/</url>   
  6.         </repository>   
  7.         <repository>   
  8.             <id>jboss-cache</id>   
  9.             <name>jboss-cache</name>   
  10.             <url>http://repository.jboss.org/maven2</url>   
  11.         </repository>   
  12.         <repository>   
  13.             <id>mvnsearch</id>   
  14.             <name>mvnsearch Maven Repository</name>   
  15.             <url>http://www.mvnsearch.org/maven2</url>   
  16.         </repository>   
  17.     </repositories>  
<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
Java代码 复制代码  收藏代码
  1. <settings>     
  2. ...      
  3. <servers>     
  4.   <server>     
  5.     <id>nexus-releases</id>     
  6.     <username>admin</username>     
  7.     <password>admin123</password>     
  8.   </server>     
  9.   <server>     
  10.     <id>nexus-snapshots</id>     
  11.     <username>admin</username>     
  12.     <password>admin123</password>     
  13.   </server>        
  14. </servers>     
  15. ...      
  16. </settings>  
<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中加入如下配置。
Java代码 复制代码  收藏代码
  1. <project>     
  2. ...     
  3. <distributionManagement>     
  4.   <repository>     
  5.     <id>nexus-releases</id>     
  6.       <name>Nexus Release Repository</name>     
  7.       <url>http://127.0.0.1:8080/nexus/content/repositories/releases/</url>     
  8.   </repository>     
  9.   <snapshotRepository>     
  10.     <id>nexus-snapshots</id>     
  11.     <name>Nexus Snapshot Repository</name>     
  12.     <url>http://127.0.0.1:8080/nexus/content/repositories/snapshots/</url>     
  13.   </snapshotRepository>     
  14. </distributionManagement>     
  15. ...     
  16. </project>   
<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包。
 
 
 
 
 
 
------------------------------------------------------------
 
源作者使用war方式,本人在构建过程中使用的是bundle..
1.下载 地址如上:http://www.sonatype.org/nexus/
2设置环境变量Path ;D:\nexus-2.0.5-bundle\nexus-2.0.5\bin

3.启动 命令窗口
输入nexus install 进行安装nexus服务(安装成功后可以在服务里可以看到)
输入nexus start 启动服务
如果启动服务器出现“The nexus-webapp service was launched, but failed to start."错误请参加另外一篇文章
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Nexus上配置本地Maven仓库,需要执行以下步骤: 1. 安装Nexus 首先需要在你的机器上安装Nexus。你可以从官方网站下载Nexus并按照说明进行安装。 2. 创建本地仓库Nexus中创建一个本地仓库,用于存储你的Maven构件。在Nexus的主页中,选择“Repositories”选项卡,然后单击“Create Repository”按钮。在弹出的对话框中,选择“Maven(Hosted)”类型,并填写相应的信息,如仓库名称、仓库ID等。 3. 配置MavenMaven的settings.xml文件中,添加以下配置: ``` <mirrors> <mirror> <id>nexus</id> <url>http://<nexus_host>:<nexus_port>/repository/<repository_id>/</url> <mirrorOf>*</mirrorOf> </mirror> </mirrors> ``` 其中,`<nexus_host>`和`<nexus_port>`是Nexus的主机名和端口号,`<repository_id>`是步骤2中创建的本地仓库ID。 除此之外,还需要在`<servers>`标签中添加Nexus的认证信息: ``` <server> <id>nexus</id> <username>admin</username> <password>admin123</password> </server> ``` 其中,`<id>`的值应该与步骤2中创建的本地仓库ID相同,`<username>`和`<password>`分别是Nexus的管理员用户名和密码。 4. 构建项目 现在你可以使用Maven构建项目,并将构件发布到本地仓库中。在Maven的pom.xml文件中,添加以下配置: ``` <distributionManagement> <repository> <id>nexus</id> <url>http://<nexus_host>:<nexus_port>/repository/<repository_id>/</url> </repository> </distributionManagement> ``` 其中,`<id>`和`<url>`的值同样应该与步骤2中创建的本地仓库ID和URL相同。 5. 使用本地仓库 现在你可以在Maven项目中使用本地仓库中的构件。在pom.xml文件中,添加以下配置: ``` <repositories> <repository> <id>nexus</id> <url>http://<nexus_host>:<nexus_port>/repository/<repository_id>/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> ``` 其中,`<id>`、`<url>`和`<releases>`、`<snapshots>`的值同样应该与步骤2中创建的本地仓库ID和URL相同。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值