前言
承接前文,本篇所讲述的是如何使用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已经自动生成了。
以上三个配置项的命名都可以根据个人习惯或者公司要求来做,是一个较为主观的事情。
选择已经配置好的maven及目录即可,下面Properties即为上一步里设置的参数。 这里有一个参数需要注意,archetypeCatalog参数,详细说明可以看一下我写的这篇文章。
5、存储位置设置
项目在本机的存储目录设置完之后,点击Finish即可。
6、mvn生成项目
全部设置成功后,等待mvn将项目架构生成即可,如下,控制台中出现提示信息即生成项目成功。
初始的项目结构如下:
7、代码整合
原项目结构如下:
那么,将原项目src目录下中的java包复制到ssm-maven项目的main目录下,原项目中的配置文件复制到resources文件夹下,
mappers文件也复制到resources下,WebRoot中的文件复制到webapp文件夹下,得到如下目录结构的maven项目:
其实,目录结构的差别倒是不大,主要在于pom.xml文件,整个项目的描述文件及相关配置都在此文件中。两个项目的下载地址分别为和,可以下载到本地对比一下,看一看其中的差异。最明显的差异就是路径的差异,因为要区分两个项目,所以对原先的包名进行重新命名了。到这里,普通JavaWeb项目改造为maven项目就完成了,可以自己动动手试一下,也可以直接导入源码。
pom文件
pom.xml配置如下:
13 4.0.0 4com.ssm.maven.core 5ssm-maven 6war 71.0-SNAPSHOT 8ssm-maven 9http://maven.apache.org 10 1112 13 24 255.1.25 143.2.5 151.2.2 16 174.2.4.RELEASE 18 19UTF-8 20 211.2 22true 2326 175 17627 32junit 28junit 294.9 30test 3133 38org.springframework 34spring-test 35${spring.version} 36test 3739 43commons-logging 40commons-logging 411.1.3 4244 48commons-collections 45commons-collections 463.2.1 4749 53commons-io 50commons-io 512.4 5254 58 59 60commons-lang 55commons-lang 562.6 5761 65org.mybatis 62mybatis 63${mybatis.version} 6466 70org.mybatis 67mybatis-spring 68${mybatis-spring.version} 6971 76 77 78 79mysql 72mysql-connector-java 73${jdbc.driver.version} 74runtime 7580 84org.slf4 81slf4j-api 8220160310 8385 89org.slf4j 86slf4j-log4j12 871.7.7 8890 94 95 96 97log4j 91log4j 921.2.16 9398 102org.aspectj 99aspectjrt 1001.7.4 101103 107 108 109 110org.aspectj 104aspectjweaver 1051.7.4 106111 115org.springframework 112spring-context-support 113${spring.version} 114116 120org.springframework 117spring-jdbc 118${spring.version} 119121 125org.springframework 122spring-tx 123${spring.version} 124126 130 131 132org.springframework 127spring-webmvc 128${spring.version} 129133 138javax.servlet 134javax.servlet-api 1353.1.0 136provided 137139 143javax.servlet.jsp 140jsp-api 1412.2 142144 148 149javax.servlet 145jstl 1461.2 147150 155 156net.sf.json-lib 151json-lib 1522.2.3 153jdk15 154157 161 162com.fasterxml.jackson.core 158jackson-databind 1592.5.3 160163 167 168com.alibaba 164fastjson 1651.2.4 166169 173 174commons-codec 170commons-codec 1711.4 172177 203 204ssm-maven 178179 180 202181 189 190org.apache.maven.plugins 182maven-compiler-plugin 1833.2 184185 188191 200 201org.apache.tomcat.maven 192tomcat7-maven-plugin 1932.2 194195 1998080 196${project.build.sourceEncoding} 197tomcat7 198
如果有什么问题的话,留言或者发私信即可。