摘要:本文要用Maven来构建一个多模块的web项目

项目结构如下:

  system-parent

        |----pom.xml

        |----system-domain

                |----pom.xml

        |----system-dao

                |----pom.xml

        |----system-service

                |----pom.xml

        |----system-web

                |----pom.xml

Maven学习总结(12)——eclipse中构建多模块maven项目_apache


一、创建system-parent项目

创建system-parent,用来给各个子模块继承


Maven学习总结(12)——eclipse中构建多模块maven项目_html_02

勾选create a simple...

Maven学习总结(12)——eclipse中构建多模块maven项目_xml_03

注意要选pom

Maven学习总结(12)——eclipse中构建多模块maven项目_xml_04

创建好的结构如下,把src文件删除掉

Maven学习总结(12)——eclipse中构建多模块maven项目_jar_05


二、创建sytem-domain模块


项目右键-》new->other

Maven学习总结(12)——eclipse中构建多模块maven项目_jar_06

注意选择maven module

Maven学习总结(12)——eclipse中构建多模块maven项目_html_07

Maven学习总结(12)——eclipse中构建多模块maven项目_html_08

packageing,选择jar,因为这是要打包成jar给别的模块用的

Maven学习总结(12)——eclipse中构建多模块maven项目_xml_09

子模块添加好后如下

Maven学习总结(12)——eclipse中构建多模块maven项目_apache_10

打开system-domain项目pom.xml文件,改成如下


[html]​view plain​​​​copy​


  1. <project xmlns="http:///POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:///POM/4.0.0 http:///xsd/maven-4.0.0.xsd">
  2. <modelVersion>4.0.0</modelVersion>
  3. <parent>
  4. <groupId>com.mucfc</groupId>
  5. <artifactId>system-parent</artifactId>
  6. <version>0.0.1-SNAPSHOT</version>
  7. </parent>

  8. <artifactId>system-domain</artifactId>
  9. <packaging>jar</packaging>

  10. <name>system-domain</name>
  11. <url>http://</url>
  12. </project>

此时system-parent应该有这么一句



[html]​view plain​​​​copy​


  1. <modules>
  2. <module>system-domain</module>
  3. </modules>


表明子模块添加成功



三、创建system-dao模块

步骤和2一样,命名不同


Maven学习总结(12)——eclipse中构建多模块maven项目_apache_11

然后把再打开system-dao的项目下的pom文件,修改成如下:


[html]​view plain​​​​copy​


  1. <project xmlns="http:///POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:///POM/4.0.0 http:///xsd/maven-4.0.0.xsd">
  2. <modelVersion>4.0.0</modelVersion>
  3. <parent>
  4. <groupId>com.mucfc</groupId>
  5. <artifactId>system-parent</artifactId>
  6. <version>0.0.1-SNAPSHOT</version>
  7. </parent>
  8. <artifactId>system-dao</artifactId>
  9. <packaging>jar</packaging>

  10. <name>system-dao</name>
  11. <url>http://</url>
  12. <dependencies>
  13. <!--system-dao需要使用到system-domain中的类,所以需要添加对system-domain模块的依赖-->
  14. <dependency>
  15. <groupId>com.mucfc</groupId>
  16. <artifactId>system-domain</artifactId>
  17. <version>${project.version}</version>
  18. </dependency>
  19. </dependencies>
  20. </project>


四、创建system-service模块

步骤和2一样,命名不同


Maven学习总结(12)——eclipse中构建多模块maven项目_html_12

然后把再打开system-service的项目下的pom文件,修改成如下:


[html]​view plain​​​​copy​


  1. <project xmlns="http:///POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:///POM/4.0.0 http:///xsd/maven-4.0.0.xsd">
  2. <modelVersion>4.0.0</modelVersion>
  3. <parent>
  4. <groupId>com.mucfc</groupId>
  5. <artifactId>system-parent</artifactId>
  6. <version>0.0.1-SNAPSHOT</version>
  7. </parent>

  8. <artifactId>system-service</artifactId>
  9. <packaging>jar</packaging>

  10. <name>system-service</name>
  11. <url>http://</url>

  12. <dependencies>
  13. <!--system-service依赖system-dao和system-domain但是我们只需添加system-dao的依赖即可,因为system-dao已经依赖了system-domain -->
  14. <dependency>
  15. <groupId>com.mucfc</groupId>
  16. <artifactId>system-dao</artifactId>
  17. <version>${project.version}</version>
  18. </dependency>
  19. </dependencies>
  20. </project>


五、创建system-web模块


web项目要打包成war文件,所以有个地方要改下

Maven学习总结(12)——eclipse中构建多模块maven项目_xml_13

这里记得要选war文件

Maven学习总结(12)——eclipse中构建多模块maven项目_xml_14

把pom文件改成如下:


[html]​view plain​​​​copy​


  1. <project xmlns="http:///POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:///POM/4.0.0 http:///xsd/maven-4.0.0.xsd">
  2. <modelVersion>4.0.0</modelVersion>
  3. <parent>
  4. <groupId>com.mucfc</groupId>
  5. <artifactId>system-parent</artifactId>
  6. <version>0.0.1-SNAPSHOT</version>
  7. </parent>

  8. <artifactId>system-web</artifactId>
  9. <packaging>war</packaging>

  10. <name>system-web</name>
  11. <url>http://</url>

  12. <dependencies>
  13. <dependency>
  14. <groupId>com.mucfc</groupId>
  15. <artifactId>system-service</artifactId>
  16. <version>${project.version}</version>
  17. </dependency>
  18. </dependencies>
  19. </project>

然后自己在在\system-web\src\main\webapp目录中添加一个index.jsp


六、整体目录如下

                                                                                      Maven学习总结(12)——eclipse中构建多模块maven项目_apache