使用 maven 进行协作开发

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

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

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

使用maven Project和maven Module

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

创建商城的dao,又分为supermarket,goods(商品),user.项目结构如下:
使用 maven 进行协作开发
 实际上只有一个项目,这个项目下面包含三个maven module,分别是:supermarket,goods,user.

总共有4个pom.

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

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

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

Xml代码  使用 maven 进行协作开发
  1. <modules>  
  2.         <module>supermarket</module>  
  3.         <module>goods</module>  
  4.         <module>user</module>  
  5.     </modules>  

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

子模块的pom.xml:

Xml代码  使用 maven 进行协作开发
  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代码  使用 maven 进行协作开发
  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/

界面如下:
使用 maven 进行协作开发
 

 

上一篇:赛格曹晓冬分享实录:线下仍是智能硬件产品的主要消费渠道


下一篇:微信公众平台开发(71)OAuth2.0网页授权