项目管理--maven浅析《四》之私服(Nexus)

私服(Nexus)

上篇文章中我们说到了maven分模块管理SSH项目,其中我们每开发一个模块,都要把它发布到本地仓库(命令:install),用于模块间建立联系。但是,实际项目开发中,各个团队开发模块不可能在同一台pc上进行,那么为了让模块之间建立联系就要用到远程仓库,也就是私服(Nexus)。

1、下载安装


文件夹sonatype-work就是远程仓库,用于存放文件

下边我们以命令行的形式安装并启动nexus

a、安装,进入到nexus的bin目录下,安装命令为nexus.bat install

安装完成我们PC服务里边就会有nexus服务,但是本人不建议大家在服务中心手动开启,

我们还是以命令行的形式启动服务nexus.bat start

这里启动成功了,但是有时候可能会出现启动失败的问题,本人在这里提供一种解决方案:

1、找到该配置文件

打开配置文件,把标黄部分修改为:wrapper.java.command=D:\java\jdk1.7.0_80\bin\java.exe

因为这里依靠的就是jdk中的java.exe,之所以不成功是因为Java环境没配置好,这里直接给它定位

另外还有一个配置文件需要注意:

文件内容就是提供了端口号和项目名称,因此访问私服的路径:http://localhost:8081/nexus

远程仓库是需要登录的,默认的用户名/密码:admin/admin123

仓库类型:

virtual:虚拟仓库

proxy:代理仓库(central就是中央仓库,也就意味着nexus找不到的要到central中找)

hosted:宿主仓库 本地仓库 Releases和Snapshots就是我们创建项目时选择的版本

group:组 就是包含多种类型


因为私服是由运维部门进行管理的,所以我们只需要了解一下即可

下边我们做一个实际案例:把dao模块发布到nexus上,service从上边下载

发布到nexus的命令为:deploy

但是会报错,因为我们指定私服,项目并不知道要发布到哪里,解决方案:

在dao模块的pom.xml文件中添加配置文件

<distributionManagement>
  	<repository>
  		<id>releases</id>
	<url>http://localhost:8081/nexus/content/repositories/releases/</url>
  	</repository> 
  	<snapshotRepository>
  		<id>snapshots</id>
	<url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
  	</snapshotRepository> 
  </distributionManagement>

这里就是指定了两个版本的私服,但是指定完私服之后,发布到的私服的操作也是会收到限制的,因此在maven的setting.xml文件中添加一下配置

<server>
      <id>releases</id>
      <username>admin</username>
      <password>admin123</password>
    </server>
	<server>
      <id>snapshots</id>
      <username>admin</username>
      <password>admin123</password>
    </server>
这样就有了发布权限了,dao模块也就可以顺利发布了


service层下载dao

在maven的setting.xml文件中添加

<profile>   
	<!--profile的id-->
    <id>dev</id>   
    <repositories>   
      <repository>  
		<!--仓库id,repositories可以配置多个仓库,保证id不重复-->
        <id>nexus</id>   
		<!--仓库地址,即nexus仓库组的地址-->
        <url>http://localhost:8081/nexus/content/groups/public/</url>   
		<!--是否下载releases构件-->
        <releases>   
          <enabled>true</enabled>   
        </releases>   
		<!--是否下载snapshots构件-->
        <snapshots>   
          <enabled>true</enabled>   
        </snapshots>   
      </repository>   
    </repositories>  
	 <pluginRepositories>  
    	<!-- 插件仓库,maven的运行依赖插件,也需要从私服下载插件 -->
        <pluginRepository>  
        	<!-- 插件仓库的id不允许重复,如果重复后边配置会覆盖前边 -->
            <id>public</id>  
            <name>Public Repositories</name>  
            <url>http://localhost:8081/nexus/content/groups/public/</url>  
        </pluginRepository>  
    </pluginRepositories>  
  </profile>  
然后添加激活配置

  <activeProfiles>
    <activeProfile>dev</activeProfile>
  </activeProfiles>

这样你把service层中的dao包删除,更新项目就会自动从nexus上下载了。


===================================================================================
尽人事,听天命。我相信只有那些疯狂到自以为能改变世界的人才会真正改变世界。
坚持别人不能坚持的坚持,终将收获别人不能收获的收获。这就是我,一个纯粹想靠技术改变命运的人。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值