前言

  承接前文《Spring+SpringMVC+MyBatis+easyUI整合基础篇(五)讲一下maven》,本篇所讲述的是如何使用maven与原ssm项目整合,使得一个普通的JavaWeb项目变为由maven管理的规范化项目,使项目变得简单。如果你已经安装maven并在开发软件中配置好maven后,即可开始体验maven带给你的便利,当然,仅仅一个项目是不可能让你迅速喜欢上maven的,这一篇只是上车而已,慢慢来。

  因为已经有了项目代码,所以新建maven步骤这里可以忽略的看一下,你可以自行下载代码直接导入到工程即可。
  第一阶段余下的文章中所有关于bug修复、功能增加、代码修改都会在此maven项目中进行,原来的项目不会继续更新了。
  项目实际效果展示在这里,账密:admin 123456
  下载地址,点这里
  github地址,在这里

整合步骤

 
1、打开编辑器,File -> New -> Project, 新建maven项目。
 
2、如图:
 
  
  选择创建maven项目,配置JDK,第3步中,Create from archetype这个选项是一定要勾选的,不然无法进入下一步,第四步也要注意,选择
org.apache.maven.archetypes:maven-archetype-webapp,因为可能和其他选项相似,一定要看清楚。
 
3、项目命名
 
 
  GroupID是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构,为了和ssm-demo项目区分开来,我们就命名为com.ssm.maven.core。
  ArtifactID就是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称,与maven整合,因此命名为ssm-maven。
  Version是项目版本号,idea已经自动生成了。
  以上三个配置项的命名都可以根据个人习惯或者公司要求来做,是一个较为主观的事情。 
 

4、maven目录设置

 
  
  选择已经配置好的maven及目录即可,下面Properties即为上一步里设置的参数。
  这里有一个参数需要注意,archetypeCatalog参数,详细说明可以看一下我写的这篇文章《解决新建maven项目速度慢的问题》。
 
5、存储位置设置
 
  项目在本机的存储目录设置完之后,点击Finish即可。
 
6、mvn生成项目
    
  全部设置成功后,等待mvn将项目架构生成即可,如下,控制台中出现提示信息即生成项目成功。
 
  初始的项目结构如下:
 
 
7、代码整合
 
  原项目结构如下:
 
 
  那么,将原项目src目录下中的java包复制到ssm-maven项目的main目录下,原项目中的配置文件复制到resources文件夹下,
mappers文件也复制到resources下,WebRoot中的文件复制到webapp文件夹下,得到如下目录结构的maven项目:
 
  
  其实,目录结构的差别倒是不大,主要在于pom.xml文件,整个项目的描述文件及相关配置都在此文件中。两个项目的下载地址分别为ssm-demo和ssm-maven,可以下载到本地对比一下,看一看其中的差异。最明显的差异就是路径的差异,因为要区分两个项目,所以对原先的包名进行重新命名了。到这里,普通JavaWeb项目改造为maven项目就完成了,可以自己动动手试一下,也可以直接导入源码。
 

pom文件

 
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">
<modelVersion>4.0.0</modelVersion>
<groupId>com.ssm.maven.core</groupId>
<artifactId>ssm-maven</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>ssm-maven</name>
<url>http://maven.apache.org</url> <properties>
<!-- 数据库相关版本 -->
<jdbc.driver.version>5.1.25</jdbc.driver.version>
<mybatis.version>3.2.5</mybatis.version>
<mybatis-spring.version>1.2.2</mybatis-spring.version>
<!-- spring版本 -->
<spring.version>4.2.4.RELEASE</spring.version>
<!-- encoding -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- autoconfig -->
<autoconfig-plugin-version>1.2</autoconfig-plugin-version>
<maven.test.skip>true</maven.test.skip>
</properties> <dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.9</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.3</version>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2.1</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency> <!-- Begin: 数据库依赖包 -->
<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>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${jdbc.driver.version}</version>
<scope>runtime</scope>
</dependency>
<!-- End: 数据库依赖包 --> <!-- Begin: 日志依赖包 -->
<dependency>
<groupId>org.slf4</groupId>
<artifactId>slf4j-api</artifactId>
<version>20160310</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.7</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
</dependency>
<!-- End: 日志依赖包 --> <!-- Begin: aspectj相关jar包-->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.7.4</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.7.4</version>
</dependency>
<!-- End: aspectj相关jar包--> <!-- Begin: spring依赖 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</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-tx</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- End: spring依赖 --> <dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency> <dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.2.3</version>
<classifier>jdk15</classifier>
</dependency> <dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.3</version>
</dependency> <dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.4</version>
</dependency> <dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.4</version>
</dependency> </dependencies> <build>
<finalName>ssm-maven</finalName>
<plugins> <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>
</configuration>
</plugin> <plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<port>8080</port>
<charset>${project.build.sourceEncoding}</charset>
<server>tomcat7</server>
</configuration>
</plugin> </plugins>
</build> </project>

pom.xml文件

如果有什么问题的话,留言或者发私信即可。

Spring+SpringMVC+MyBatis+easyUI整合基础篇(六)maven整合SSM的更多相关文章

  1. Spring+SpringMVC+MyBatis+easyUI整合基础篇

    基础篇 Spring+SpringMVC+MyBatis+easyUI整合基础篇(一)项目简介 Spring+SpringMVC+MyBatis+easyUI整合基础篇(二)牛刀小试 Spring+S ...

  2. Spring+SpringMVC+MyBatis+easyUI整合基础篇(八)mysql中文查询bug修复

    写在前面的话 在测试搜索时出现的问题,mysql通过中文查询条件搜索不出数据,但是英文和数字可以搜索到记录,中文无返回记录.本文就是写一下发现问题的过程及解决方法.此bug在第一个项目中点这里还存在, ...

  3. Spring+SpringMVC+MyBatis+easyUI整合基础篇(十一)SVN服务器进阶

    日常啰嗦 上一篇文章<Spring+SpringMVC+MyBatis+easyUI整合基础篇(十)SVN搭建>简单的讲了一下SVN服务器的搭建,并没有详细的介绍配置文件及一些复杂的功能, ...

  4. Spring+SpringMVC+MyBatis+easyUI整合基础篇(十二)阶段总结

    不知不觉,已经到了基础篇的收尾阶段了,看着前面的十几篇文章,真的有点不敢相信,自己竟然真的坚持了下来,虽然过程中也有过懒散和焦虑,不过结果还是自己所希望的,克服了很多的问题,将自己的作品展现出来,也发 ...

  5. Spring+SpringMVC+MyBatis+easyUI整合基础篇(一)项目简述及技术选型介绍

    作者:13GitHub:https://github.com/ZHENFENG13版权声明:本文为原创文章,未经允许不得转载. 萌芽阶段 很久之前就开始打算整理一下自己的技术博客了,由于各种原因(借口 ...

  6. Spring+SpringMVC+MyBatis+easyUI整合基础篇(一)项目简介

    很久之前就打算开始写一下自己的技术博客了,实在抽不出时间所以计划一直搁置了,最近项目进度渐渐缓了下来,不那么忙了,也因此开始筹备自己的博客.说到这次博客的主角,也是无心插柳找到的,来源于两年前自己写的 ...

  7. Spring+SpringMVC+MyBatis+easyUI整合进阶篇(六)一定要RESTful吗?

    作者:13 GitHub:https://github.com/ZHENFENG13 版权声明:本文为原创文章,未经允许不得转载. 写在前面的话 这个问题看起来就显得有些萌,或者说类似的问题都有些不靠 ...

  8. Spring+SpringMVC+MyBatis+easyUI整合基础篇(三)搭建步骤

    框架介绍: 主角即Spring.SpringMVC.MyBatis.easyUI,大家应该也都有所了解,概念性的东西就不写了,有万能的百度.   工作环境:       jdk 1.7       m ...

  9. Spring+SpringMVC+MyBatis+easyUI整合进阶篇(十五)阶段总结

    作者:13 GitHub:https://github.com/ZHENFENG13 版权声明:本文为原创文章,未经允许不得转载. 一 每个阶段在结尾时都会有一个阶段总结,在<SSM整合基础篇& ...

随机推荐

  1. Spring新下载地址

    Spring官网改版后找了好久都没有找到直接下载Jar包的链接,下面汇总些网上提供的方法,亲测可用. 1.直接输入地址,改相应版本即可:http://repo.springsource.org/lib ...

  2. Angular - - ngIf、ngSwitch、ngHide/ngShow

    在组合这些ng指令写到一篇文章里的时候,基本是有规则的,野兽把功能相似相近的一类大多会组合到一起,方便理解和记忆. 这篇的三个指令也都是对DOM元素的操作,页面上显示/隐藏的判断,添加/移除的判断. ...

  3. iOS 项目上线流程

    一.证书的导出      1.1 前期工作        首先你需要有一个苹果的开发者帐号,一个Mac系统.        如果没有帐号可以在打开http://developer.apple.com/ ...

  4. Effective java -- 2 对于所有对象都通用到方法

    第八条:覆盖equals时请遵守通用约定 什么时候需要覆盖equals方法?类具有自己的逻辑相等概念,并且父类的equals方法不能满足需要.重写equals时需要遵循一下约定: 自反性:非null ...

  5. Objective-C处理动态类型函数集

    -(BOOL) isKindOfClass:class-object 对象是不是class-object或其子类的实例-(BOOL) isMemberOfClass:class-object 对象是不 ...

  6. php之 人员的权限管理(RBAC)

    1.想好权限管理的作用? 2.有什么权限内容? 3.既然有权限管理那么就会有管理员? 4.登录后每个人员的界面会是不一样的? 一.想好这个权限是什么? 就做一个就像是vip的功能,普通用户和vip用户 ...

  7. SoapUI:mock service的使用

    mock service就是服务模拟,当我们的接口完成而服务端还没完成的时候,我们就可以用mock service来替代服务端进行接口测试. 1.1       创建MockService 创建moc ...

  8. 【js编程艺术】小制作六

    1.html /* movie.html*/<!DOCTYPE html> <html> <head> <meta charset="utf-8&q ...

  9. 使用数字签名实现数据库记录防篡改(Java实现)

    本文大纲 一.提出问题 二.数字签名 三.实现步骤 四.参考代码 五.后记 六.参考资料 一.提出问题 最近在做一个项目,需要对一个现成的产品的数据库进行操作,增加额外的功能.为此,需要对该产品对数据 ...

  10. OGG学习笔记04-OGG复制部署快速参考

    OGG学习笔记04-OGG复制部署快速参考 源端:Oracle 10.2.0.5 RAC + ASM 节点1 Public IP地址:192.168.1.27 目标端:Oracle 10.2.0.5 ...