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

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的Commons包简介

    http://mxdxm.iteye.com/blog/758453 Jakarta Commons是Jakarta的一个子项目,目的是创建和维护独立于其他框架和产品的程序包(packages).Ja ...

  2. 转:mybatis3中@SelectProvider的使用技巧

    mybatis3中@SelectProvider的使用技巧 mybatis的原身是ibatis,现在已经脱离了apache基金会,新官网是http://www.mybatis.org/. mybati ...

  3. Kwickserver

    Kwickserver 欢迎来到Kwickserver的主页 Kwickserver是什么? Kwickserver是一个易于安装的和易于使用的服务器应用程序,从CD安装在PC兼容的硬件和坚持webi ...

  4. lua基础【三】唯一数据结构table表

    --[[ 数据结构table对象(一种动态分配的对象) lua中的表操作.table类型实现了"关联数组的". "关联数组是一种具有特殊索引方式的数组" 能够通 ...

  5. JMS 在 SpringBoot 中的使用

    当前环境 Mac OS 10.11.x docker 1.12.1 JDK 1.8 SpringBoot 1.5 前言 基于之前一篇“一个故事告诉你什么是消息队列”,了解了消息队列的使用场景以及相关的 ...

  6. Android 虚线切割线

    drawable下新建一个虚线的xml.dash_line.xml <? xml version="1.0" encoding="utf-8"?> ...

  7. EFFECTIVE JAVA 类和接口

    第十六条:复合优先于继承 //这是一个不好的类---执行的结果 addCount = 4(addAll的实现依赖于HashSet的add方法,InstrumentHashSet方法重写了add方法有执 ...

  8. 第九节: 利用RemoteScheduler实现Sheduler的远程控制 第八节: Quartz.Net五大构件之SimpleThreadPool及其四种配置方案 第六节: 六类Calander处理六种不同的时间场景 第五节: Quartz.Net五大构件之Trigger的四大触发类 第三节: Quartz.Net五大构件之Scheduler(创建、封装、基本方法等)和Job(创建、关联

    第九节: 利用RemoteScheduler实现Sheduler的远程控制   一. RemoteScheduler远程控制 1. 背景: 在A服务器上部署了一个Scheduler,我们想在B服务器上 ...

  9. elasticsearch报错syncedb_path

    一般默认syncdb_path在$HOME目录下隐藏文件,也可以自己指定一个文件,记住,这里只能指定文件,不能只写目录input { file { path => "/home/tom ...

  10. SQL 根据表获取字段字符串

    SQLSERVER查询单个数据表所有字段名组合成的字符串脚本 --SQLSERVER查询单个数据表所有字段名组合成的字符串脚本 --应用场合: 用于生成SQL查询字符串中select 字段名列表1 f ...