Idea创建maven项目流程、修改默认配置、及注意事项
这里所演示的环境:
windows7+jdk1.7.0_80+tomcat8.5.41+maven3.0.5+idea2017.3.6
1.idea使用指定maven版本
打开idea,使用快捷键ctrl+alt+s,指定maven版本、本地仓库、本地用户、jdk版本
![](https://ask.qcloudimg.com/draft/1500162/c69ihtnrn2.png?imageView2/2/w/1620)
1.本地安装maven目录。
2.用户配置的目录,这里是我电脑用户存在的地方。
ps:注意第一次配置完成后,用户文件下是并没有 .\m2 文件夹,需要在cmd下运行mvn就可以生成,再将maven安装文件中 .\conf\settings.xml 复制到这个文件中去。如中央仓库、本地仓库的配置
3.本地仓库的地址。这里我设置的本地仓库地址为:E:\workingPlace\maven-repository
4.指定 “JDK for importer” 下的jdk版本
5.指定 “JRE” 下的jre版本
2.idea创建项目
![](https://ask.qcloudimg.com/draft/1500162/jku32tnvfn.png?imageView2/2/w/1620)
![](https://ask.qcloudimg.com/draft/1500162/g0igbwthv0.png?imageView2/2/w/1620)
![](https://ask.qcloudimg.com/draft/1500162/bhmtsglvqs.png?imageView2/2/w/1620)
![](https://ask.qcloudimg.com/draft/1500162/117914adow.png?imageView2/2/w/1620)
![](https://ask.qcloudimg.com/draft/1500162/d0giv5zh26.png?imageView2/2/w/1620)
![](https://ask.qcloudimg.com/draft/1500162/0u26gxeshd.png?imageView2/2/w/1620)
3.maven项目设置
![](https://ask.qcloudimg.com/draft/1500162/26nrsfddz4.png?imageView2/2/w/1620)
![](https://ask.qcloudimg.com/draft/1500162/4q3koco7w1.png?imageView2/2/w/1620)
![](https://ask.qcloudimg.com/draft/1500162/54ewoelgfd.png?imageView2/2/w/1620)
4.部署tomcat
![](https://ask.qcloudimg.com/draft/1500162/73uoh8obgi.png?imageView2/2/w/1620)
![](https://ask.qcloudimg.com/draft/1500162/6n33ny529s.png?imageView2/2/w/1620)
![](https://ask.qcloudimg.com/draft/1500162/mqxm7ud1dd.png?imageView2/2/w/1620)
![](https://ask.qcloudimg.com/draft/1500162/popl0y6ma7.png?imageView2/2/w/1620)
![](https://ask.qcloudimg.com/draft/1500162/lno2wl2j4a.png?imageView2/2/w/1620)
![](https://ask.qcloudimg.com/draft/1500162/ltn9wv03vu.png?imageView2/2/w/1620)
5.运行项目
![](https://ask.qcloudimg.com/draft/1500162/5l21683g3f.png?imageView2/2/w/1620)
![](https://ask.qcloudimg.com/draft/1500162/h6lttbqnnu.png?imageView2/2/w/1620)
![](https://ask.qcloudimg.com/draft/1500162/llh5tada94.png?imageView2/2/w/1620)
6.注意事项
6.1.新建项目生成web.xml文件头过时,导致在里面配置会出现错误
方案一(每一个maven项目都需要去配置):
新建项目的web.xml的文件头如下:
<!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>
修改过后:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<display-name>mavenTest</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
方案二(可以解决后面生成的maven项目,不会出现这种情况):
由于新建工程是从仓库中拉取得模板,所以,我们可以直接修改仓库中模板的配置
如图所示,可根据groupId和artifactId定位该资源在本地仓库中的位置,进入资源文件夹后,
![](https://ask.qcloudimg.com/draft/1500162/3o13bocw8u.png?imageView2/2/w/1620)
上图:在用idea创建web项目时,所做的选择
![](https://ask.qcloudimg.com/draft/1500162/8nvqw61rta.png?imageView2/2/w/1620)
![](https://ask.qcloudimg.com/draft/1500162/tf9u3upvl7.png?imageView2/2/w/1620)
上图:解压这个文件,并修改里面pom.xml文件,web.xml,index.jsp等文件,并修改成新建成的结构目录,在用winrar打开文件maven-archetype-webapp-1.4.jar,将里面的archetype-resources文件夹删除,在添加解压的archetype-resources文件夹,在重启idea,后面我提供修改的文件,仅供参考
![](https://ask.qcloudimg.com/draft/1500162/8zlz2hal2e.png?imageView2/2/w/1620)
![](https://ask.qcloudimg.com/draft/1500162/t8487s1hre.png?imageView2/2/w/1620)
如上图所示:新建项目默认使用我们修改的pom.xml,web.xml,index.jsp文件的配置,但发现结构文件缺失
下面是我修改的pom.xml、web.xml、index.jsp文件
pom.xml:
<?xml version="1.0" encoding="UTF-8"?>
<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>${groupId}</groupId>
<artifactId>${artifactId}</artifactId>
<version>${version}</version>
<packaging>war</packaging>
<name>${artifactId} Maven Webapp</name>
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<maven.compiler.compilerVersion>1.7</maven.compiler.compilerVersion>
</properties>
<dependencies>
<!-- junit,servlet,jsp -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<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>
<scope>provided</scope>
</dependency>
<!-- fastjson、standard、jstl -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId