使用 maven 进行协作开发

如何使用maven 进行协作开发(多人开发)呢?

(1)项目模块化,一个项目应该根据功能不同划分为多个模块,作用一:分配任务好分配;作用二:便于维护.

(2)项目组成员修改的模块能马上可见(被其他成员方便地得到)

使用maven Project和maven Module

以一个简单的商城系统为例

创建商城的dao,又分为supermarket,goods(商品),user.项目结构如下:

 实际上只有一个项目,这个项目下面包含三个maven module,分别是:supermarket,goods,user.

总共有4个pom.

这样就可以分配给三个开发人员进行开发了,分别负责三个 maven module.

关于配置,有如下几点说明:

(1)在父maven项目的pom中要包含如下配置

Xml代码  

  1. <modules>  
  2.         <module>supermarket</module>  
  3.         <module>goods</module>  
  4.         <module>user</module>  
  5.     </modules>  

 (2)子模块可以不指定版本号,若不指定,则版本号与父项目相同

子模块的pom.xml:

Xml代码  

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  2.     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
  3.     <modelVersion>4.0.0</modelVersion>  
  4.     <parent>  
  5.         <groupId>com.kunlunsoft</groupId>  
  6.         <artifactId>dao_shop</artifactId>  
  7.         <version>0.0.1-SNAPSHOT</version>  
  8.     </parent>  
  9.     <artifactId>supermarket</artifactId>  
  10.     <version>1.0.2-SNAPSHOT</version>  
  11.     <name>dao-supermarket</name>  
  12. </project>  

 说明:以上的子模块中指定了version为1.0.2-SNAPSHOT,若不指定它的version就集成fu项目的.

(3)子项目的依赖的版本都在父类中,例如

user模块的pom.xml如下:

Xml代码  

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  2.     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
  3.     <modelVersion>4.0.0</modelVersion>  
  4.     <parent>  
  5.         <groupId>com.kunlunsoft</groupId>  
  6.         <artifactId>dao_shop</artifactId>  
  7.         <version>0.0.1-SNAPSHOT</version>  
  8.     </parent>  
  9.     <artifactId>user</artifactId>  
  10.     <name>dao-user</name>  
  11.     <dependencies>  
  12.         <dependency>  
  13.             <groupId>com.kunlunsoft</groupId>  
  14.             <artifactId>supermarket</artifactId>  
  15.         </dependency>  
  16.     </dependencies>  
  17. </project>  

我们看到依赖的supermarket没有写版本号,因为版本号已经在父类中声明了. 

(4)开发时,所有的成员一旦修改代码,一定要在提交svn的同时要部署到maven服务器(我们使用的是nexus)

 

相关资料:

nexus官网:http://www.sonatype.org/nexus/

界面如下:

 

 

时间: 2024-11-03 02:05:52

使用 maven 进行协作开发的相关文章

面向对象的css:团队协作开发规范和按结构划分模块

文章简介:面向对象的css有两个主要原则:separate the structure from the skin,separate the container from the content.第一个原则体现在模块化思想可以理解为,模块的设计制作和布局框架本身相分离,意味着你的模块不能只为某个布局而编写样式,像微博这类存在换肤功能的产 说起模块化,也许我们首先想到的是编程中的模块设计,以功能块为单位进行程序设计,最后通过模块的选择和组合构成最终产品.把这种思想运用到页面构建中,也已经不是什么新

在扁平的世界中协作: 协作开发工具

本文讲的是在扁平的世界中协作: 协作开发工具,[IT168 资讯]软件开发领域的协作包含了大范围的团队活动,从在同一个地方的小型项目的团队开发,到涉及三个或更多时区以及数百个开发人员的地理上分布的项目,还有一些是外包的.本文介绍了协作开发的目前状态,并且考虑了一些最佳协作的障碍. 一般来说,软件开发人员和技术专家总是在寻找下一件大事.我们中的许多人都试图成为预知行业中下一个趋势的权威.本月,我将试着预测一个我认为将成为成功软件开发的关键的领域 -- 协作开发,以及支持它的工具.什么是协作和协作开

框架-mvc项目高效率团队协作开发

问题描述 mvc项目高效率团队协作开发 最近在做一个mvc项目 是团队开发 想问问怎么高效率团队开发 框架是怎么定义 页面样式的重用问题 解决方案 使用mvc的areas,分区,这样就可以一个人开发一部分. 共享的内容可以放在模板页和局部视图中. 还可以用一些客户端框架,比如easyui

掌握解决问题的艺术,学会迭代开发,成为协作开发的专家,然后为写出更好的代码而担忧(转)

很多开发人员普遍犯有一个错误,认为他们的工作就是写代码.这不是一个开发人员要做的事情. 一个开发人员的工作是解决问题. 解决问题的一部分过程通常涉及到写代码,但是这部分工作是非常非常小的.开发有用的东西才花更多时间. 明白如何迭代开发,随着对问题有更好的理解,你才能给难题增加一些小功能,因为从头开发完美的产品是不可能的.不用写代码就能验证功能,因为很明显,写代码是相当昂贵的. 用于测试.评测和抛弃想法的系统也是极其重要的,因为要是没有它,整个开发组将耗费越来越多的精力,还有用来帮助他们执行得更有

SSH 协作开发,如何分配工作呀。

问题描述 我们公司有5个人的团队,要开发一个b2b的程序.不知道如何分配工作呀.公司给提供一台服务器.tomcat服务.开发的时候是不是要用cvs什么的呀.大家说说协同开发的思想.谢谢. 解决方案 解决方案二:最好每人负责一个模块单独开发公共的模块负责一个人开发cvssvn都可解决方案三:搭框架,把主页面搞出来,把菜单挂上,可以是空连接,根据菜单往下分活菜单根据需求和模块来分析出来.解决方案四:SVN就OK乐每个人针对每个模块进行开发大体项目框架搭好就OK了其他模块他们自己建解决方案五:哦那第一

Riverbed加入OpenStack社区 协作开发开源标准云解决方案

Riverbed科技公司 (纳斯达克股票交易代码: RVBD) 日前宣布加入OpenStack社区--一个在云架构和开源云操作系统上协作的全球开发者社区.随着各个企业将其数据和应用迁移至云,广域网的连接性日渐对应用的性能提出了挑战.作为OpenStack的成员,Riverbed正将OpenStack支持添加进其广域网优化解决方案,以创建成功的云环境. Riverbed利用其广域网优化解决方案与OpenStack社区进行合作,是公司先前与OpenStack社区就虚拟应用交付控制器(vADC)开展合

使用Apache Wink、Eclipse和Maven开发RESTful Web服务

简介:Apache Wink 是 Java API for RESTful Web Services (JAX-RS) 规范的一个开源实现 .了解如何使用 Apache Wink.Eclipse IDE 以及 Maven 项目管理工具开发.部署和运行 RESTful Web 服务. Apache Wink 是一个促进创建和使用 REST Web 服务的 Apache 孵化器项目.通过 REST Web 服务,客户机和服务之间的交互局限于一组预定义的操作,客户机和服务器之间的交互的复杂性限制 为客

【我的Android进阶之旅】快速创建和根据不同的版本类型(Dev、Beta、Release)发布Android 开发库到Maven私服

前言 由于项目越来越多,有很多公共的代码都可以抽取出一个开发库出来传到公司搭建好的Maven私服,以供大家使用. 之前搭建的Maven仓库只有Release和Snapshot两个仓库,最近由于开发库有时候不稳定有bug,不便于测试.因此领导说要搭建三个版本的仓库,分别为Release版本.Beta版本.Dev版本,Snapshot版本废弃掉,下面来分别介绍下这三个版本仓库的意义. Dev版本:是用于开发库维护人员能够很快的新增代码并上传到Maven仓库,这样其他开发人员就能够很快的获取该Dev版

《R的极客理想—工具篇》—— 1.5 多人在线协作R开发RStudio Server

1.5 多人在线协作R开发RStudio Server 问题 R语言开发,哪个工具最好用? 引言 RStudio是R语言开发中的利器,是最好用的R语言IDE集成环境.RStudio Server更是利器中的神器.不仅提供了Web的功能,可以安装到远程服务器上,通过Web进行访问,还支持多用户的协作开发.如此神器,快来动手试一下吧. 1.5.1 RStudio和RStudio Server RStudio 是一个强大的.免费的.开源的R语言集成开发环境的应用软件,可以安装在Windows.Linu