文章有不当之处,欢迎指正,如果喜欢微信阅读,你也可以关注我的微信公众号:好好学java,获取优质学习资源。

终于有时间搞java了,今天使用IDEA基于maven搭建了多模块聚合工程,经过了多番尝试,终于成功啦!

注意:这里是在原作者的基础上改进的版本,原作者的版本的pom依赖存在问题,所以,这里的依赖全部是我自己的依赖,图片按照这个来完全没有问题!

一.工程目录

下面是搭建之后的目录

这里写图片描述

先看一下目录关系

taotao-parent(父工程管理jar包的版本)

|--taotao-common(把通用的工具类打包)

|--taotao-manager(继承父工程)

  |-taotao-manager-pojo|-taotao-manager-dao|-taotao-manager-service|-taotao-manager-web(war包)

taotao-parent 为项目的父工程,用来管理jar包及版本

taotao-common为通用工程,继承父工程,就是把通用的工具类打包

taotao-manager为开发工程,同样继承父工程

其中,taotao-manager-pojo,taotao-manager-dao,taotao-manager-service和taotao-manager-web均为开发工程的一个子模块,依赖于开发工程taotao-manager

前3个子模块打成jar包,taotao-manager-web打成war包

二.创建工程

1.先创建一个空工程,步骤如下
File——>new——>project

这里写图片描述

选择Empty——>next

这里写图片描述

填写工程名称和位置,点击finnish,完成了空工程的创建

这里写图片描述

2.创建父工程 taotao-parent,步骤如下

File——>New——>Module

这里写图片描述

点maven,勾选archetype,选quickstart这项,然后Next下一步

这里写图片描述

填写GroupId,一般为组织名称;填写ArtifactId,为项目名称

这里写图片描述

选择本地maven目录及maven配置文件

这里写图片描述

填写项目名称及位置,点Finish,父工程创建完成

这里写图片描述

等待生成pom文件,修改打包方式为pom,pom文件为:

<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"><modelVersion>4.0.0</modelVersion><groupId>com.chinapost</groupId><artifactId>post-parent</artifactId><version>1.0-SNAPSHOT</version><packaging>pom</packaging><!-- 集中定义依赖版本号 --><properties><junit.version>4.10</junit.version><spring.version>4.1.3.RELEASE</spring.version><mybatis.version>3.2.8</mybatis.version><mybatis.spring.version>1.2.2</mybatis.spring.version><mybatis.paginator.version>1.2.15</mybatis.paginator.version><mysql.version>5.1.32</mysql.version><slf4j.version>1.6.4</slf4j.version><jackson.version>2.4.2</jackson.version><druid.version>1.0.9</druid.version><httpclient.version>4.3.5</httpclient.version><jstl.version>1.2</jstl.version><servlet-api.version>2.5</servlet-api.version><jsp-api.version>2.0</jsp-api.version><joda-time.version>2.5</joda-time.version><commons-lang3.version>3.3.2</commons-lang3.version><commons-io.version>1.3.2</commons-io.version></properties><dependencyManagement><dependencies><!-- 单元测试 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>${junit.version}</version><scope>test</scope></dependency><!-- Spring --><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId><version>${spring.version}</version></dependency><!-- Mybatis --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>${mybatis.version}</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>${mybatis.spring.version}</version></dependency><!-- 分页助手 --><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>3.7.5</version></dependency><dependency><groupId>com.github.jsqlparser</groupId><artifactId>jsqlparser</artifactId><version>0.9.1</version></dependency><!-- 通用Mapper --><dependency><groupId>com.github.abel533</groupId><artifactId>mapper</artifactId><version>2.3.4</version></dependency><!-- MySql --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>${mysql.version}</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>${slf4j.version}</version></dependency><!-- Jackson Json处理工具包 --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>${jackson.version}</version></dependency><!-- 连接池 --><dependency><groupId>com.jolbox</groupId><artifactId>bonecp-spring</artifactId><version>0.8.0.RELEASE</version></dependency><!-- httpclient --><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>${httpclient.version}</version></dependency><!-- JSP相关 --><dependency><groupId>jstl</groupId><artifactId>jstl</artifactId><version>${jstl.version}</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>${servlet-api.version}</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jsp-api</artifactId><version>${jsp-api.version}</version><scope>provided</scope></dependency><!-- 时间操作组件 --><dependency><groupId>joda-time</groupId><artifactId>joda-time</artifactId><version>${joda-time.version}</version></dependency><!-- Apache工具组件 --><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>${commons-lang3.version}</version></dependency><dependency><groupId>org.apache.commons</groupId><artifactId>commons-io</artifactId><version>${commons-io.version}</version></dependency></dependencies></dependencyManagement><build><finalName>${project.artifactId}</finalName><plugins><!-- 资源文件拷贝插件 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-resources-plugin</artifactId><version>2.7</version><configuration><encoding>UTF-8</encoding></configuration></plugin><!-- java编译插件 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.2</version><configuration><source>1.7</source><target>1.7</target><encoding>UTF-8</encoding></configuration></plugin></plugins><pluginManagement><plugins><!-- 配置Tomcat插件 --><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.2</version></plugin></plugins></pluginManagement></build>
</project>

3.创建通用工程taotao-common

File——>New——>Module

这里写图片描述

点maven后直接next下一步

这里写图片描述

继承taotao-parent,填写ArtifactId,然后next下一步

这里写图片描述

填写通用模块名称,点finish,通用模块创建完成

这里写图片描述

开发模块taotao-manager与通用模块创建方式一致

taotao-common的pom.xml

<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"><modelVersion>4.0.0</modelVersion><parent><groupId>com.chinapost</groupId><artifactId>post-parent</artifactId><version>1.0-SNAPSHOT</version></parent><groupId>com.chinapost</groupId><artifactId>post-common</artifactId><version>1.0-SNAPSHOT</version><packaging>jar</packaging><dependencies><!-- Jackson Json处理工具包 --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>${jackson.version}</version></dependency><!-- 时间操作组件 --><dependency><groupId>joda-time</groupId><artifactId>joda-time</artifactId><version>${joda-time.version}</version></dependency><!-- Apache工具组件 --><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>${commons-lang3.version}</version></dependency></dependencies>
</project>

taotao-manager的pom.xml

<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"><modelVersion>4.0.0</modelVersion><parent><groupId>com.chinapost</groupId><artifactId>post-parent</artifactId><version>1.0-SNAPSHOT</version></parent><groupId>com.chinapost</groupId><artifactId>post-manager</artifactId><version>1.0-SNAPSHOT</version><packaging>pom</packaging><dependencies><dependency><groupId>com.chinapost</groupId><artifactId>post-common</artifactId><version>1.0-SNAPSHOT</version></dependency><!-- 单元测试 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><scope>test</scope></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId></dependency><!-- Apache工具组件 --><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>${commons-lang3.version}</version></dependency><dependency><groupId>org.apache.commons</groupId><artifactId>commons-io</artifactId><version>${commons-io.version}</version></dependency></dependencies><build><plugins><!-- 配置Tomcat插件 --><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><configuration><port>8999</port><path>/</path></configuration></plugin></plugins></build><modules><module>post-manager-pojo</module><module>post-manager-dao</module><module>post-manager-service</module><module>post-manager-web</module></modules>
</project>

4.创建开发模块下的子模块,分两类介绍,taotao-manager-pojo,taotao-manager-dao,taotao-manager-service创建方式一样,taotao-manager-web的创建有点差别

1)以taotao-manager-pojo为例

File——>new——>module

这里写图片描述

选maven——>勾选archetype——>选quickstart这项——>点next

这里写图片描述

继承taotao-manager,填写ArtifactId

这里写图片描述

这里注意改写路径,点finish,一个子模块创建完成

这里写图片描述

taotao-manager-pojo的pom.xml

<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"><modelVersion>4.0.0</modelVersion><parent><groupId>com.chinapost</groupId><artifactId>post-manager</artifactId><version>1.0-SNAPSHOT</version></parent><groupId>com.chinapost</groupId><artifactId>post-manager-pojo</artifactId><version>1.0-SNAPSHOT</version><packaging>jar</packaging><dependencies><dependency><groupId>com.chinapost</groupId><artifactId>post-common</artifactId><version>1.0-SNAPSHOT</version></dependency><dependency><groupId>javax.persistence</groupId><artifactId>persistence-api</artifactId><version>1.0</version></dependency></dependencies>
</project>

taotao-manager-dao的pom.xml

<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"><parent><artifactId>post-manager</artifactId><groupId>com.chinapost</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>post-manager-dao</artifactId><packaging>jar</packaging><name>post-manager-dao</name><url>http://maven.apache.org</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><dependency><groupId>com.chinapost</groupId><artifactId>post-manager-pojo</artifactId><version>1.0-SNAPSHOT</version></dependency><!-- Mybatis --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId></dependency><!-- 通用Mapper --><dependency><groupId>com.github.abel533</groupId><artifactId>mapper</artifactId></dependency></dependencies>
</project>

taotao-manager-service的pom.xml

<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"><parent><artifactId>post-manager</artifactId><groupId>com.chinapost</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>post-manager-service</artifactId><packaging>jar</packaging><name>post-manager-service</name><url>http://maven.apache.org</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><dependency><groupId>com.chinapost</groupId><artifactId>post-manager-dao</artifactId><version>1.0-SNAPSHOT</version></dependency><!-- Spring --><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId></dependency><!-- 分页助手 --><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId></dependency><dependency><groupId>com.github.jsqlparser</groupId><artifactId>jsqlparser</artifactId></dependency></dependencies>
</project>

2)taotao-manager-web创建

同样File——>New——>Module

只不过这里选择webapp这项(唯一不同的地方,其他地方类似),点next下一步

这里写图片描述

同样继承taotao-manager

这里写图片描述

同样需要改写路径,点击finish,taotao-manager-web子模块创建完成

这里写图片描述
taotao-manager-web的pom.xml

<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/maven-v4_0_0.xsd"><parent><artifactId>post-manager</artifactId><groupId>com.chinapost</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>post-manager-web</artifactId><packaging>war</packaging><name>post-manager-web</name><url>http://maven.apache.org</url><!-- 添加依赖 --><dependencies><dependency><groupId>com.chinapost</groupId><artifactId>post-manager-service</artifactId><version>1.0-SNAPSHOT</version></dependency><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.3.1</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId></dependency><!-- MySql --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><!-- Jackson Json处理工具包 --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId></dependency><!-- 连接池 --><dependency><groupId>com.jolbox</groupId><artifactId>bonecp-spring</artifactId></dependency><!-- JSP相关 --><dependency><groupId>jstl</groupId><artifactId>jstl</artifactId></dependency><dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><scope>provided</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jsp-api</artifactId><scope>provided</scope></dependency><!-- 时间操作组件 --><dependency><groupId>joda-time</groupId><artifactId>joda-time</artifactId></dependency></dependencies><build><finalName>post-manger-web</finalName></build>
</project>

5.接下来运行工程使用:tomcat7:run

右上角Edit Configurations

这里写图片描述
选maven
这里写图片描述 这里写图片描述
需要把taotao-parent等需要安装的都安装到本地仓库。
这里写图片描述

最后运行,如下图所示,就说明跑通了!

这里写图片描述

总结:

之前看别人的博客,有选择portlet项,自己弄死活跑不通。

taotao-parent,taotao-manager-pojo,taotao-manager-dao,taotao-manager-service选择quickstart那项;

taotao-common,taotao-manager啥都不选;

taotao-manager-web选择webapp那项。

还要注意打包方式,jar,pom,war

参考资料
  • https://blog.csdn.net/for_my_life/article/details/78939078

使用IDEA基于Maven搭建多模块聚合工程(springmvc+spring+mybatis整合)相关推荐

  1. SpringMVC+Spring+Mybatis整合,使用druid连接池,声明式事务,maven配置

    一直对springmvc和mybatis挺怀念的,最近想自己再搭建下框架,然后写点什么. 暂时没有整合缓存,druid也没有做ip地址的过滤.Spring的AOP简单配置了下,也还没具体弄,不知道能不 ...

  2. maven 聚合工程 用spring boot 搭建 spring cloud 微服务 模块式开发项目

    项目的简单介绍: 项目采用maven聚合工程 用spring boot 搭建 spring cloud的微服务 模块式开发 项目的截图: 搭建开始: 能上图 我少打字 1.首先搭建maven的聚合工程 ...

  3. 【多模块聚合工程】IDEA搭建SpringBoot多模块聚合工程详细步骤

    这篇文章主要是介绍一下,如何在IDEA开发工具下,搭建一个基于SpringBoot的多模块聚合工程项目. 多模块聚合工程:按照MVC的思想,将应用分成三层web.service.mapper/dao这 ...

  4. 手把手Maven搭建SpringMVC+Spring+MyBatis框架(超级详细版)

    手把手Maven搭建SpringMVC+Spring+MyBatis框架(超级详细版) SSM(Spring+SpringMVC+Mybatis),目前较为主流的企业级架构方案.标准的MVC设计模式, ...

  5. (转)淘淘商城系列——使用maven tomcat插件启动聚合工程

    http://blog.csdn.net/yerenyuan_pku/article/details/72672389 上文我们一起学习了如何使用maven tomcat插件来启动web工程,本文我们 ...

  6. idea springmvc_SSM三大框架使用Maven快速搭建整合(SpringMVC+Spring+Mybatis)

    本文介绍使用SpringMVC+Spring+MyBatis三大框架使用Maven快速搭建一个demo,实现数据从数据库中查询返回到页面进行展示的过程. 技术选型:SpringMVC+Spring+M ...

  7. 基于IDEA的SpringMVC+Spring+Mybatis的web项目环境搭建、目录解析、代码整合

    目的作用 希望可以通过记录一下自己一个基于IDEA的SpringMVC+Spring+Mybatis完整项目的代码框架,里边的代码实现了从界面操作数据对数据库实现了基本的语句,给自己留一个备份给需要里 ...

  8. [Shiro教程] Shiro 教程基于SSM(SpringMVC + Spring + Mybatis)EHCache版本

    一.Shiro简介 Apache Shiro 是 Java  的一个安全框架.我们经常看到它被拿来和 Spring  的 Security  来对比.大部分人认为 Shiro  比 Security  ...

  9. [Shiro教程] Shiro 教程基于SSM(SpringMVC + Spring + Mybatis)

    一.Shiro简介 Apache Shiro 是 Java  的一个安全框架.我们经常看到它被拿来和 Spring  的 Security  来对比.大部分人认为 Shiro  比 Security  ...

最新文章

  1. 前沿速递:Maven中央仓库新增依赖漏洞提醒功能
  2. [转]Win下必备神器之Cmder
  3. [《孔雀》观后]聪明的孩子提着易碎的灯笼
  4. date制作电子时钟
  5. .net随笔-vb.net Accord.Net机器学习之SVM分类
  6. java中path和classpath_java中的环境变量path和classpath的作用-Go语言中文社区
  7. 每天一道LeetCode-----生成由[1 : n]这n个数组成的所有二叉搜索树
  8. 获取另一个驱动的设备结构体_字符设备驱动的另一种写法
  9. 信息学奥赛一本通(1160:倒序数)
  10. java合并不连续的时间段_基于时间戳不完全匹配的pandas合并
  11. 【Elasticsearch】使用索引生命周期管理实现热温冷架构
  12. 常用计算机 启动bios,常见电脑进入bios的方法
  13. Chrome 渲染分析之 Rendering 工具使用
  14. 聚合支付PC端-支付宝
  15. 济南少儿学国画培训班
  16. 【HTML】关于height值设置和显示不同的原因以及font-size对象为中文和英文的区别
  17. Java编程验证哥德巴赫猜想:任何一个大于6的偶数,都能分解成两个质数的和
  18. intellij idea字体大小设置一秒完成
  19. html 设置元素向左浮动
  20. LeetCode:390.消除游戏

热门文章

  1. 重置SVN用户名与密码,修改SVN的IP地址
  2. 删除千万级表中重复记录的办法
  3. nrf51822蓝牙学习笔记之实例分析PPI和SHORT
  4. stm32_can错误中断 清除重点
  5. 《研磨设计模式》chap20 享元模式 Flyweight (4)总结
  6. 《格理论与密码学》笔记一
  7. Kali 渗透测试—Metasploit
  8. python的openpyxl库如何读取特定列_通过渲染一百万个网页,来了解网络是如何崩溃的...
  9. 题目3:文本文件单词的检索与计数(实现代码)
  10. WiFiDemon – iOS WiFi RCE 0-Day漏洞利用