第一步:准备工作
Maven 环境搭建
开发工具: IDEA(对Maven的支持更好,我的版本是IntelliJ IDEA 2018.3)
一个可以用IDEA 跑起来的普通web项目(本案例用的是一个基于SSM框架的项目)
**第二步:**转成Maven的目录结构
1.右键点击项目,选中Add framework support…,选择Maven并点击ok
这个操作会将你的项目改变为Maven的项目结构,并生成pom文件
2.转移配置文件和前端页面文件
将配置文件都移到src/main/resources文件夹下
在src/main/目录下创建webapp文件夹,将webContent目录下的文件都移到webapp目录下,并删除webContent文件夹
操作后的项目结构如下:
3.删除jar包,声明jar包依赖
将webapp/WEB-INF/目录下的lib文件夹备份然后删除,然后编写pom文件,声明项目的坐标信息和jar包的依赖等。
声明jar包依赖在这里有两种做法,
一种是根据lib文件夹中的jar包,一个一个的添加依赖。这种比较费时,而且有些包可能都没有用到。
我选择了第二种方法, 在网上找到你项目所用框架所必须的Maven依赖配置,copy到pom文件夹中,然后再看代码哪里报错,给缺失的jar包添加Maven依赖。
我整理了SSM项目需要的Maven依赖记录在了下面链接的博客中:
https://blog.csdn.net/fickle_actor/article/details/82560013
在IDEA中对于缺失的jar包可以用快捷键(alt +Enter)添加Maven 依赖
如果代码没有报错且项目能够运行成功,用maven命令编译没有问题,那么Maven项目就转换成功了。
下面说一下我在这个过程中碰到的两个问题:
1.项目打包时不会java目录下的xml文件不会被打包
这个问题的原因是Maven打包时,默认java项目下只将.java文件打包。解决方法参考下面链接的博客
https://blog.csdn.net/Fickle_actor/article/details/82712663
2.配置文件找不到,web.xml中配置文件路径报错,解决方法参考下面链接的博客
https://blog.csdn.net/Fickle_actor/article/details/82712810
3.Maven默认的jdk是1.5版本的,需要在pom文件中指定你原本项目使用的jdk版本,否者很多代码会报错,由于1.5的jdk不支持高版本的一些代码的写法和用法。
在pom文件添加以下代码指定jdk版本
<!--规定jdk版本和字符编码-->
? ? ? ? ? ? <plugin>
? ? ? ? ? ? ? ? <groupId>org.apache.maven.plugins</groupId>
? ? ? ? ? ? ? ? <artifactId>maven-compiler-plugin</artifactId>
? ? ? ? ? ? ? ? <version>3.5.1</version>
? ? ? ? ? ? ? ? <configuration>
? ? ? ? ? ? ? ? ? ? <source>1.8</source>
? ? ? ? ? ? ? ? ? ? <target>1.8</target>
? ? ? ? ? ? ? ? ? ? <encoding>UTF-8</encoding>
? ? ? ? ? ? ? ? </configuration>
? ? ? ? ? ? </plugin>
4、web.xml中Log4jConfigListener提示过时了,解决方法参考下面链接的博客