如何使用maven 进行协作开发(多人开发)呢?
(1)项目模块化,一个项目应该根据功能不同划分为多个模块,作用一:分配任务好分配;作用二:便于维护.
(2)项目组成员修改的模块能马上可见(被其他成员方便地得到)
使用maven project和maven module
以一个简单的商城系统为例
创建商城的dao,又分为supermarket,goods(商品),user.项目结构如下:

实际上只有一个项目,这个项目下面包含三个maven module,分别是:supermarket,goods,user.
总共有4个pom.
这样就可以分配给三个开发人员进行开发了,分别负责三个 maven module.
关于配置,有如下几点说明:
(1)在父maven项目的pom中要包含如下配置
<modules>
<module>supermarket</module>
<module>goods</module>
<module>user</module>
</modules>
(2)子模块可以不指定版本号,若不指定,则版本号与父项目相同
子模块的pom.xml:
<project xmlns="http://maven.apache.org/pom/4.0.0" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"
xsi:schemalocation="http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelversion>4.0.0</modelversion>
<parent>
<groupid>com.kunlunsoft</groupid>
<artifactid>dao_shop</artifactid>
<version>0.0.1-snapshot</version>
</parent>
<artifactid>supermarket</artifactid>
<version>1.0.2-snapshot</version>
<name>dao-supermarket</name>
</project>
说明:以上的子模块中指定了version为1.0.2-snapshot,若不指定它的version就集成fu项目的.
(3)子项目的依赖的版本都在父类中,例如
user模块的pom.xml如下:
<artifactid>user</artifactid>
<name>dao-user</name>
<dependencies>
<dependency>
<groupid>com.kunlunsoft</groupid>
<artifactid>supermarket</artifactid>
</dependency>
</dependencies>
我们看到依赖的supermarket没有写版本号,因为版本号已经在父类中声明了.
(4)开发时,所有的成员一旦修改代码,一定要在提交svn的同时要部署到maven服务器(我们使用的是nexus)
相关资料:
nexus官网:http://www.sonatype.org/nexus/
界面如下: