使用IDEA基于Maven搭建多模块聚合工程(springmvc+spring+mybatis整合)
文章有不当之处,欢迎指正,如果喜欢微信阅读,你也可以关注我的微信公众号:
好好学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整合)相关推荐
- SpringMVC+Spring+Mybatis整合,使用druid连接池,声明式事务,maven配置
一直对springmvc和mybatis挺怀念的,最近想自己再搭建下框架,然后写点什么. 暂时没有整合缓存,druid也没有做ip地址的过滤.Spring的AOP简单配置了下,也还没具体弄,不知道能不 ...
- maven 聚合工程 用spring boot 搭建 spring cloud 微服务 模块式开发项目
项目的简单介绍: 项目采用maven聚合工程 用spring boot 搭建 spring cloud的微服务 模块式开发 项目的截图: 搭建开始: 能上图 我少打字 1.首先搭建maven的聚合工程 ...
- 【多模块聚合工程】IDEA搭建SpringBoot多模块聚合工程详细步骤
这篇文章主要是介绍一下,如何在IDEA开发工具下,搭建一个基于SpringBoot的多模块聚合工程项目. 多模块聚合工程:按照MVC的思想,将应用分成三层web.service.mapper/dao这 ...
- 手把手Maven搭建SpringMVC+Spring+MyBatis框架(超级详细版)
手把手Maven搭建SpringMVC+Spring+MyBatis框架(超级详细版) SSM(Spring+SpringMVC+Mybatis),目前较为主流的企业级架构方案.标准的MVC设计模式, ...
- (转)淘淘商城系列——使用maven tomcat插件启动聚合工程
http://blog.csdn.net/yerenyuan_pku/article/details/72672389 上文我们一起学习了如何使用maven tomcat插件来启动web工程,本文我们 ...
- idea springmvc_SSM三大框架使用Maven快速搭建整合(SpringMVC+Spring+Mybatis)
本文介绍使用SpringMVC+Spring+MyBatis三大框架使用Maven快速搭建一个demo,实现数据从数据库中查询返回到页面进行展示的过程. 技术选型:SpringMVC+Spring+M ...
- 基于IDEA的SpringMVC+Spring+Mybatis的web项目环境搭建、目录解析、代码整合
目的作用 希望可以通过记录一下自己一个基于IDEA的SpringMVC+Spring+Mybatis完整项目的代码框架,里边的代码实现了从界面操作数据对数据库实现了基本的语句,给自己留一个备份给需要里 ...
- [Shiro教程] Shiro 教程基于SSM(SpringMVC + Spring + Mybatis)EHCache版本
一.Shiro简介 Apache Shiro 是 Java 的一个安全框架.我们经常看到它被拿来和 Spring 的 Security 来对比.大部分人认为 Shiro 比 Security ...
- [Shiro教程] Shiro 教程基于SSM(SpringMVC + Spring + Mybatis)
一.Shiro简介 Apache Shiro 是 Java 的一个安全框架.我们经常看到它被拿来和 Spring 的 Security 来对比.大部分人认为 Shiro 比 Security ...
最新文章
- 前沿速递:Maven中央仓库新增依赖漏洞提醒功能
- [转]Win下必备神器之Cmder
- [《孔雀》观后]聪明的孩子提着易碎的灯笼
- date制作电子时钟
- .net随笔-vb.net Accord.Net机器学习之SVM分类
- java中path和classpath_java中的环境变量path和classpath的作用-Go语言中文社区
- 每天一道LeetCode-----生成由[1 : n]这n个数组成的所有二叉搜索树
- 获取另一个驱动的设备结构体_字符设备驱动的另一种写法
- 信息学奥赛一本通(1160:倒序数)
- java合并不连续的时间段_基于时间戳不完全匹配的pandas合并
- 【Elasticsearch】使用索引生命周期管理实现热温冷架构
- 常用计算机 启动bios,常见电脑进入bios的方法
- Chrome 渲染分析之 Rendering 工具使用
- 聚合支付PC端-支付宝
- 济南少儿学国画培训班
- 【HTML】关于height值设置和显示不同的原因以及font-size对象为中文和英文的区别
- Java编程验证哥德巴赫猜想:任何一个大于6的偶数,都能分解成两个质数的和
- intellij idea字体大小设置一秒完成
- html 设置元素向左浮动
- LeetCode:390.消除游戏
热门文章
- 重置SVN用户名与密码,修改SVN的IP地址
- 删除千万级表中重复记录的办法
- nrf51822蓝牙学习笔记之实例分析PPI和SHORT
- stm32_can错误中断 清除重点
- 《研磨设计模式》chap20 享元模式 Flyweight (4)总结
- 《格理论与密码学》笔记一
- Kali 渗透测试—Metasploit
- python的openpyxl库如何读取特定列_通过渲染一百万个网页,来了解网络是如何崩溃的...
- 题目3:文本文件单词的检索与计数(实现代码)
- WiFiDemon – iOS WiFi RCE 0-Day漏洞利用