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

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. <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

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. <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>

六,编译

控制台打印信息:

七、运行

7.1 添加app-web到tomcat中

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

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

Eclipse下使用maven搭建多模块项目的更多相关文章

  1. Java一步一步构建web系统 在IDEA下用Maven搭建多模块项目

    1.需求 做一个项目会有很多模块,主要是方便复用,通过各个模块之间聚合.模块也可以独立出来,如公用类库,也可以在做其它项目中使用.该文的实例会有两个模块:分别为dallin-web模块,dallin- ...

  2. eclipse中使用maven搭建多模块项目

    暂时参考:https://blog.csdn.net/u012343297/article/details/79883870

  3. Myeclipse下使用Maven搭建spring boot项目

    开发环境:Myeclipse2017.JDK1.6.Tomcat 8.0.Myeclipse下使用Maven搭建spring boot项目,详细过程如下: 1. New -> Project.. ...

  4. SSH框架之一详解maven搭建多模块项目

    闲来无事,思量着自己搭建一个ssh框架,一来回顾熟悉一下ssh的内容,hibernate还就没用过了,生疏了都.二来整合一下,将其他掌握的和正在学习的框架核技术糅合到一起,就当是做一个demo练手了. ...

  5. 用maven搭建多模块项目

    首先,前面几次学习已经学会了安装maven,如何创建maven项目等,最近的学习,终于有点进展了,搭建一下企业级多模块项目. 好了,废话不多说,具体如下: 首先新建一个maven项目,pom.xml的 ...

  6. 照葫芦画瓢系列之Java --- eclipse下使用maven创建Struts 2项目

    一.创建Maven项目 http://www.cnblogs.com/zhanqun/p/8425571.html 二.添加struts2核心依赖包以及其他依赖项 打开pom.xm配置界面 点击Add ...

  7. Myeclipse下使用Maven搭建spring boot项目(第二篇)

    现在需要搭建spring boot框架,并实现一个HelloWorld的项目,让程序真正运行起来. 一.在pom.xml中引入spring-boot-start-parent,spring官方的叫st ...

  8. [转] 用Maven搭建多模块企业级项目

    转自:http://www.cnblogs.com/quanyongan/archive/2013/05/28/3103243.html 首先,前面几次学习已经学会了安装maven,如何创建maven ...

  9. maven搭建多模块企业级项目

    首先,前面几次学习已经学会了安装maven,如何创建maven项目等,最近的学习,终于有点进展了,搭建一下企业级多模块项目. 好了,废话不多说,具体如下: 首先新建一个maven项目,pom.xml的 ...

随机推荐

  1. Java Enum的多态性

    转载自:http://pf-miles.iteye.com/blog/187155 Enum+多态,我没说错,不过Enum是不可以被继承的,也不可以继承自别人,只是能实现接口而已,何谈多态?不过还是先 ...

  2. Cocos2d-x 3.1.1 学习日志13--物理引擎登峰造极之路

    cocos2dx在设计之初就集成了两套物理引擎,它们是box2d和chipmunk.我眼下使用的是最新版的cocos2dx 3.1.1.引擎中默认使用的是chipmunk.假设想要改使用box2d的话 ...

  3. Ubuntu启动sshd服务

    1.Ubuntu主机安装ssh相关服务 openssh-client openssh-server 方法: sudo apt-get install openssh-client openssh-se ...

  4. 怎样设置gephi可画大规模网络图形

    (1)编辑gephi.conf 文件夹:\etc\gephi.conf 默认512MB.你能够改为22GB,约22528M # ${HOME} will be replaced by user hom ...

  5. rpc接口mock平台

    转载:http://blog.csdn.net/ronghuanye/article/details/71124320 1.简介 平台采用struts.spring.mybatis框架开发设计,主要用 ...

  6. 开关按钮(ToggleButton&Switch)

    开关按钮,很实用的小东西. 下面上实例: -------------------------------我是邪恶的分割线--------------------------------------- ...

  7. PICT工具安装使用

    前言:PICT工具在微软公司出品一款成对组合的命令行生成工具.PICT 可有效地按照两两测试Pairwise的原理,进行测试用例设计.在使用PICT时,需要输入与测试用例相关的所有参数,以达到全面覆盖 ...

  8. php-fpm添加service服务

    原文:http://blog.csdn.net/whatday/article/details/50659992 php-fpm在5.3.2版本以后不支持service php-fpm start等命 ...

  9. 【ExtAspNet学习笔记】ExtAspNet控件库中常见问题

    1.在Grid控件中添加CheckBoxField控件,选择一行时,如何获取选择的CheckBoxField所对应记录的唯一标识值? ●解决方案: 在前台Grid控件中, 添加“<ext:Che ...

  10. 【已解决】iView-admin Editor 组件 绑定默认值问题

    iView-admin Editor 组件 绑定默认值问题 发现 editor 组件,设置v-model 后, 修改 v-model 数据, editor组件没有自动渲染,需要手动设置渲染  this ...