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

Posted 不积跬步无以至千里

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Eclipse下使用maven搭建多模块项目相关的知识,希望对你有一定的参考价值。

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

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

目录结构:


一、app

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

1.1 创建Maven Project


1.2 选择maven-archetype-quickstart


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.   
  5.   <groupId>com.bdong</groupId>  
  6.   <artifactId>app</artifactId>  
  7.   <version>0.0.1-SNAPSHOT</version>  
  8.   
  9.   <name>app</name>  
  10.   <url>http://maven.apache.org</url>  
  11.   
  12.   <properties>  
  13.     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  
  14.   </properties>  
  15.   
  16.   <dependencies>  
  17.     <dependency>  
  18.       <groupId>junit</groupId>  
  19.       <artifactId>junit</artifactId>  
  20.       <version>3.8.1</version>  
  21.       <scope>test</scope>  
  22.     </dependency>  
  23.   </dependencies>  
  24.     
  25.   <span style="color:#ff0000;"><strong><packaging>pom</packaging></strong></span>  
  26.     
  27.   <modules>  
  28.     <module>app-domain</module>  
  29.     <module>app-dao</module>  
  30.     <module>app-service</module>  
  31.     <module>app-web</module>  
  32.   </modules>  
  33. </project>  

二、app-domain

2.1 创建Maven Module


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


修改后的配置文件:
  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.     
  11.   <artifactId>app-domain</artifactId>  
  12.   <strong><span style="color:#ff0000;"><packaging>jar</packaging></span></strong>  
  13.     
  14.   <name>app-domain</name>  
  15.   <url>http://maven.apache.org</url>  
  16.   <properties>  
  17.     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  
  18.   </properties>  
  19.   <dependencies>  
  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. </project><strong>  
  28. </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.     
  11.   <artifactId>app-dao</artifactId>  
  12.   <packaging>jar</packaging>  
  13.     
  14.   <name>app-dao</name>  
  15.   <url>http://maven.apache.org</url>  
  16.     
  17.   <properties>  
  18.     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  
  19.   </properties>  
  20.     
  21.   <dependencies>  
  22.     <!--依赖app-domain模块-->  
  23.     <dependency>  
  24.         <groupId>com.bdong</groupId>  
  25.         <artifactId>app-domain</artifactId>  
  26.         <version>${project.version}</version>  
  27.     </dependency>  
  28.     <dependency>  
  29.       <groupId>junit</groupId>  
  30.       <artifactId>junit</artifactId>  
  31.       <version>3.8.1</version>  
  32.       <scope>test</scope>  
  33.     </dependency>  
  34.   </dependencies>  
  35.     
  36. </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.     
  11.   <artifactId>app-service</artifactId>  
  12.   <packaging>jar</packaging>  
  13.     
  14.   <name>app-service</name>  
  15.   <url>http://maven.apache.org</url>  
  16.     
  17.   <properties>  
  18.     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  
  19.   </properties>  
  20.     
  21.   <dependencies>  
  22.     <dependency>  
  23.         <groupId>com.bdong</groupId>  
  24.         <artifactId>app-dao</artifactId>  
  25.         <version>${project.version}</version>  
  26.     </dependency>  
  27.     <dependency>  
  28.       <groupId>junit</groupId>  
  29.       <artifactId>junit</artifactId>  
  30.       <version>3.8.1</version>  
  31.       <scope>test</scope>  
  32.     </dependency>  
  33.   </dependencies>  
  34. </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.     
  11.   <artifactId>app-web</artifactId>  
  12.  <strong<span style="color:#ff0000;"><packaging>war</packaging></span></strong>  
  13.     
  14.   <name>app-web Maven Webapp</name>  
  15.   <url>http://maven.apache.org</url>  
  16.   <dependencies>  
  17.     <dependency>  
  18.         <groupId>com.bdong</groupId>  
  19.         <artifactId>app-service</artifactId>  
  20.         <version>${project.version}</version>  
  21.     </dependency>  
  22.     <dependency>  
  23.       <groupId>junit</groupId>  
  24.       <artifactId>junit</artifactId>  
  25.       <version>3.8.1</version>  
  26.       <scope>test</scope>  
  27.     </dependency>  
  28.   </dependencies>  
  29.   <build>  
  30.     <finalName>app-web</finalName>  
  31.   </build>  
  32. </project>  

六,编译



控制台打印信息:



七、运行

7.1 添加app-web到tomcat中


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



最终,目录结构为:



使用命令搭建多模块可参考:http://www.cnblogs.com/xdp-gacl/p/4242221.html

以上是关于Eclipse下使用maven搭建多模块项目的主要内容,如果未能解决你的问题,请参考以下文章

使用maven搭建多模块项目

Maven--搭建多模块企业级项目

(转)在Eclipse中创建Maven多模块工程

在eclipse中公布maven的多模块web项目到tomcat上及单步debug模块jar

eclipse导入SVN上的Maven多模块项目

Maven多模块项目搭建