通过Maven的版本管理来管理项目公共模块

鉴于平台的架构,将前台服务和后台服务拆分成两个项目单独部署,通过数据库,以及文件服务器,消息队列等进行通讯。考虑到前后台可重用的代码较少,综合评估后只有model层会被重用,为了开发方便将model单独拆出为一个maven子项目。并通过maven的版本管理来管理model层的jar包。

我们这里通过maven和nexus私服来管理版本。在这个地方我们使用SNAPSHOT版本,快照版本的好处是,每次deploy都在SNAPSHOT后面跟一个时间戳。这样每次检出时都会检出最新的SNAPSHOT版本。方便开发者间的协同开发。

项目到一个阶段后,就需要发布一个正式的版本(release版本):

1. 在trunk中,更新pom版本从1.0-SNAPSHOT到1.0

2. 对1.0打一个svn tag

3. 针对tag进行mvn deploy,发布正式版本

4. 更新trunk从1.0到1.1-SNAPSHOT

这个可以手动来操作,也可以借助maven的插件来完成以上操作。在此就不介绍了。

在这里是默认已经安装好了maven 和 nexus私服。

1. 首先我们用nexus管理员账号登录nexus 创建一个Hosted Repositories ,加入命名为test

要注意1,2,3这三个圈出的地方,1处主要是自定义的库名  ,2.处是选择SNAPSHOT版本主要是开发阶段主要是以发布快照版本为主。3,选择Allow Redeploy 。

2.创建好仓库后,启用deployment账户,在security->Users管理中重置deployment用户的密码,默认deployment用户有所有仓库的全部控制权,admin用户没有权限。

3.然后回到model项目中在项目的pom.xml中添加一下代码,这个地方的URL就是上面创建的Hosted Repositories

<span style="white-space:pre">	</span><distributionManagement>
        <span style="white-space:pre">	</span><repository>
            <span style="white-space:pre">		</span><id>harmay</id>
            <span style="white-space:pre">		</span><url>http://IP:PORT/nexus/content/repositories/test</url>
        <span style="white-space:pre">	</span></repository>
    <span style="white-space:pre">	</span></distributionManagement>
4.然后到~/.mvn/下面去找setting.xml文件,如果不存在则创建:
  
<span style="font-family:Microsoft YaHei;font-size:14px;"><?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" 
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<servers>  
  <server>  
    <id>test</id>  
    <username>deployment</username>  
    <password>*******</password>  
  </server>  
</servers> 
</settings></span>

这里面有几个地方需要注意:一是<id>节点的ID需要和第三步中的ID相同,然后用户名就是deployment,密码是上面设置的密码。

保存后到model项目下运行mvn deploy,则会创SNAPSHOT版本的JAR在nexus私服上,其他人就可以通过maven update到最新的jar包进行开发。


   再次过程中可能会出现的错误:

1. Return code is: 401, ReasonPhrase: Unauthorized 没有被授权操作仓库
   检查仓库的设置,以及用户名密码配置。

2. Return code is: 400, ReasonPhrase: Bad Request.

    检查仓库的Policy(Snapshot,releases)是否和你项目中的Pom.xml中version的是否匹配。


  




  




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值