工具是IntelliJ IDEA 2017.2月的版本
第一步:Create New Project,在左侧找到Maven选项,然后步骤如图(这个webapp生成的项目结构个人觉得不怎么好,比如没有main/java文件夹,也没有test/java文件夹,且各个文件夹也没有设置为Sources、Resources之类的,而且web.xml居然是2.3版本的;不知道大家有没有其它推荐):
next后新窗口中填写GroupId和ArtifactId,GroupId一般是指集团/团队名称,如com.alibaba,如果是个人可以填一个自己的英文名,一般都是小写英文。
ArtifactId一般就是这个项目的名称。然后一直next然后finish。(这中间其实还可以设置一些其它参数,比如不用idea默认的maven,这里先写个最简单的)
过个几秒后Idea创建出的项目的结构如图(根据maven的archetype创建的):
这里先将IDEA创建这种archetype的Maven的项目中比较坑的地方先改掉(以后或许升级后会没有这些坑):
①点击上面的File-Project Structure,然后点击Modules,然后点击中间部位的项目名称,然后找到右侧的Language level将它的值改成8(或自己JDK的版本,这里原本默认是5),点击OK保存,过程如图:
然后在IDEA上点击File-Settings,搜索Java Compiler,将两个值改为1.8,如图:
OK后第一个坑就改好了(个人觉得1.5实在太低了,而且JRE也是向下兼容的,至少默认得1.6吧)
②将生成的web.xml改一下,原本是2.3版本的:
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app> <display-name>Archetype Created Web Application</display-name> </web-app>
可以改成(注意2.3版本的是不支持JSP中的el表达式的,即${msg}将不能被tomcat解析):
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1"> <display-name>Archetype Created Web Application</display-name> </web-app>
第二个坑也搞定了。
接下来开始继续完善Maven项目结构和相关配置
第一步先将pom.xml里改成自己需要的jar包的dependency,改好之后注意要对着pom.xml右键-Maven-Reimport(我这边不这么做的话maven是不会帮我关联相关的包的,若有更好的方法希望能够告知)
第二步(重要),打开项目的Project Structure-Modules-Sources,如图:
(这里之前漏掉了一步,在上图中的中间处的IdeaMavenTest上面点击那个绿色的+号,然后选择Web这一栏,然后Apply;如果不这么做将无法在项目结构的webapp内右键找到New - JSP选项)
注意此时src中没有test/java文件夹(用于测试用,建议创建),且main下没有java文件夹,首先对src右键New Folder名为test,然后对新建的test文件夹右键New Folder名为java,然后对这个java文件夹右键选择为Tests。
然后对main右键New Folder名为java,对这个java文件夹右键选择为Sources,然后对main下的resources右键选择为Resources后点击OK保存。
接着在WEB-INF目录下New一个Folder名为view,此时项目结构为:
接下来就是在main中的java文件夹下创建controller、service之类的包,在view中创建jsp文件,在resources文件中创建springmvc.xml文件(注意此时的java和resources内的文件/文件夹是平级的,它们都将输出到classes文件夹(classpath)中)
剩余的步骤我就不多说了,这个是给有创建过Eclipse的动态Web项目和Maven项目的人看的,如果你没有创建过,建议先创建几个Eclipse的相应项目(eclipse目前仍然是必须要了解的)
具体的可以参考我的:http://www.cnblogs.com/silentdoer/p/7134332.html
和我整合的:http://www.cnblogs.com/silentdoer/articles/7133685.html