Eclipse下使用maven搭建多模块项目

时间:2023-12-05 23:25:26

暂时将项目分为如下几层:

domain(域模型层)、dao(数据库访问层)、service(业务逻辑层)、web(表现层),有需要再另行添加(如common等);

目录结构:

Eclipse下使用maven搭建多模块项目

一、app

该层为父层,管理其它模块层。

1.1 创建Maven Project

Eclipse下使用maven搭建多模块项目

1.2 选择maven-archetype-quickstart

Eclipse下使用maven搭建多模块项目

1.3 删除src文件夹,修改pom.xml文件,将<packaging>jar</packaging>修改为<packaging>pom</packaging>,pom表示它是一个被继承的模块

修改之后的配置文件:
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <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">
  3. <modelVersion>4.0.0</modelVersion>
  4. <groupId>com.bdong</groupId>
  5. <artifactId>app</artifactId>
  6. <version>0.0.1-SNAPSHOT</version>
  7. <name>app</name>
  8. <url>http://maven.apache.org</url>
  9. <properties>
  10. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  11. </properties>
  12. <dependencies>
  13. <dependency>
  14. <groupId>junit</groupId>
  15. <artifactId>junit</artifactId>
  16. <version>3.8.1</version>
  17. <scope>test</scope>
  18. </dependency>
  19. </dependencies>
  20. <span style="color:#ff0000;"><strong><packaging>pom</packaging></strong></span>
  21. <modules>
  22. <module>app-domain</module>
  23. <module>app-dao</module>
  24. <module>app-service</module>
  25. <module>app-web</module>
  26. </modules>
  27. </project>

二、app-domain

2.1 创建Maven Module

Eclipse下使用maven搭建多模块项目

2.2 选择maven-archetype-quickstart

2.3 修改app-domain目录中的pom.xml文件,把<groupId>com.bdong</groupId><version>0.0.1-SNAPSHOT</version>去掉,加上<packaging>jar</packaging>,groupId和version会继承app中的groupId和version,packaging设置打包方式为jar

Eclipse下使用maven搭建多模块项目
修改后的配置文件:
  1. <?xml version="1.0"?>
  2. <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4. <modelVersion>4.0.0</modelVersion>
  5. <parent>
  6. <groupId>com.bdong</groupId>
  7. <artifactId>app</artifactId>
  8. <version>0.0.1-SNAPSHOT</version>
  9. </parent>
  10. <artifactId>app-domain</artifactId>
  11. <strong><span style="color:#ff0000;"><packaging>jar</packaging></span></strong>
  12. <name>app-domain</name>
  13. <url>http://maven.apache.org</url>
  14. <properties>
  15. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  16. </properties>
  17. <dependencies>
  18. <dependency>
  19. <groupId>junit</groupId>
  20. <artifactId>junit</artifactId>
  21. <version>3.8.1</version>
  22. <scope>test</scope>
  23. </dependency>
  24. </dependencies>
  25. </project><strong>
  26. </strong>

三、app-dao

3.1 创建Maven Module

3.2 选择maven-archetype-quickstart

3.3 修改app-dao目录中的pom.xml文件,,把<groupId>com.bdong</groupId>和<version>0.0.1-SNAPSHOT</version>去掉,加上<packaging>jar</packaging>,因为groupId和version会继承app中的groupId和version,packaging设置打包方式为jar,同时添加对app-domain模块的依赖

修改后的配置文件:
  1. <?xml version="1.0"?>
  2. <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4. <modelVersion>4.0.0</modelVersion>
  5. <parent>
  6. <groupId>com.bdong</groupId>
  7. <artifactId>app</artifactId>
  8. <version>0.0.1-SNAPSHOT</version>
  9. </parent>
  10. <artifactId>app-dao</artifactId>
  11. <packaging>jar</packaging>
  12. <name>app-dao</name>
  13. <url>http://maven.apache.org</url>
  14. <properties>
  15. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  16. </properties>
  17. <dependencies>
  18. <!--依赖app-domain模块-->
  19. <dependency>
  20. <groupId>com.bdong</groupId>
  21. <artifactId>app-domain</artifactId>
  22. <version>${project.version}</version>
  23. </dependency>
  24. <dependency>
  25. <groupId>junit</groupId>
  26. <artifactId>junit</artifactId>
  27. <version>3.8.1</version>
  28. <scope>test</scope>
  29. </dependency>
  30. </dependencies>
  31. </project>

四、app-service

4.1 创建Maven Module

4.2 选择maven-archetype-quickstart

4.3  修改app-service目录中的pom.xml文件,,把<groupId>com.bdong</groupId><version>0.0.1-SNAPSHOT</version>去掉,加上<packaging>jar</packaging>packaging设置打包方式为jar,同时添加对app-dao模块的依赖,app-service依赖app-dao和app-domain,但是只需添加app-dao的依赖即可,因为app-dao已经依赖了app-domain。

修改后的配置文件:
  1. <?xml version="1.0"?>
  2. <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4. <modelVersion>4.0.0</modelVersion>
  5. <parent>
  6. <groupId>com.bdong</groupId>
  7. <artifactId>app</artifactId>
  8. <version>0.0.1-SNAPSHOT</version>
  9. </parent>
  10. <artifactId>app-service</artifactId>
  11. <packaging>jar</packaging>
  12. <name>app-service</name>
  13. <url>http://maven.apache.org</url>
  14. <properties>
  15. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  16. </properties>
  17. <dependencies>
  18. <dependency>
  19. <groupId>com.bdong</groupId>
  20. <artifactId>app-dao</artifactId>
  21. <version>${project.version}</version>
  22. </dependency>
  23. <dependency>
  24. <groupId>junit</groupId>
  25. <artifactId>junit</artifactId>
  26. <version>3.8.1</version>
  27. <scope>test</scope>
  28. </dependency>
  29. </dependencies>
  30. </project>

五、app-web

5.1 创建Maven Module

5.2 选择maven-archetype-webapp

5.3 修改app-web目录中的pom.xml文件,,把<groupId>com.bdong</groupId><version>0.0.1-SNAPSHOT</version>去掉,修改打包方式为<packaging>war</packaging>,添加对app-service模块的依赖

修改后的配置文件:
  1. <?xml version="1.0"?>
  2. <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4. <modelVersion>4.0.0</modelVersion>
  5. <parent>
  6. <groupId>com.bdong</groupId>
  7. <artifactId>app</artifactId>
  8. <version>0.0.1-SNAPSHOT</version>
  9. </parent>
  10. <artifactId>app-web</artifactId>
  11. <strong> <span style="color:#ff0000;"><packaging>war</packaging></span></strong>
  12. <name>app-web Maven Webapp</name>
  13. <url>http://maven.apache.org</url>
  14. <dependencies>
  15. <dependency>
  16. <groupId>com.bdong</groupId>
  17. <artifactId>app-service</artifactId>
  18. <version>${project.version}</version>
  19. </dependency>
  20. <dependency>
  21. <groupId>junit</groupId>
  22. <artifactId>junit</artifactId>
  23. <version>3.8.1</version>
  24. <scope>test</scope>
  25. </dependency>
  26. </dependencies>
  27. <build>
  28. <finalName>app-web</finalName>
  29. </build>
  30. </project>

六,编译

Eclipse下使用maven搭建多模块项目
控制台打印信息:
Eclipse下使用maven搭建多模块项目

七、运行

7.1 添加app-web到tomcat中

Eclipse下使用maven搭建多模块项目

7.2 运行tomcat,然后在浏览器中访问:localhost:8080/app-web

Eclipse下使用maven搭建多模块项目
最终,目录结构为:
Eclipse下使用maven搭建多模块项目
使用命令搭建多模块可参考:http://www.cnblogs.com/xdp-gacl/p/4242221.html