一、新建使用maven的web项目
1.环境
- eclipse 4.6.0
- jdk 1.8.0_92
- tomcat 8.0
- maven 3.3.9
2.新建web项目
1.新建项目,选择maven project
2.选择项目的位置,默认即可,也可手动修改
3.选择web项目模板,即maven-archetype-webapp
4.填写项目名称,选择版本等信息,点击finish完成创建
5.创建完成,目录如下
3.配置web项目
1.配置tomcat
从上面可以看到index.jsp文件有个红叉,而通过错误提示可以看到需要添加J2EE的包,添加tomcat即可。右键项目Build Path ---->Configure Build Path
添加完tomcat,是不是发现小红叉没有了呢?
2.配置jdk版本
maven默认的jdk版本是1.5的,需要根据自己的项目改为相应的版本。同样是Build Path,开始修改jdk版本
选择workspace默认的jdk版本,或者可以选择另外的版本
Java Compiler的版本也要设置,根据自己的jre版本设置,比如上面我设置了1.8的jdk,这里也要设置1.8,设置完要点击右下角的apply,使其生效
还得设置一下Project Facets,保持三个地方的jdk版本都是一致的
3.修改web版本
maven默认的web版本是2.3的,从上面修改Project Facets的时候就可以看到,但是2.3的web版本是不是有点老了。现在来改为3.0的web版本。尝试从Project Facets修改web版本的时候,会出现下面的这个错误,无法修改。只因为还有文件需要修改才可以的。
修改项目中.settings目录下的org.eclipse.wst.common.project.facet.core.xml,在eclipse中打开这个文件
找到要修改的文件打开
可以看到默认的web是2.3,jdk是1.5
修改为3.0和1.8,因为刚刚配置的jdk是1.8的版本
改了这里还不行,还需要改一下web.xml,web.xml默认也是2.3的版本,修改为3.0的版本
把web.xml的内容全删掉,换为下面的
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<display-name>Archetype Created Web Application</display-name>
</web-app>
修改后的web.xml为
再回到Project Facets是不是发现web已经变为3.0版本了。
二、解决maven项目的小红叉
1.刷新maven项目出现小红叉----配置pom.xml解决
在根据上面的步骤新建web项目完成后,右键项目 Maven---->Update Project,会很惊讶的发现项目出现了一个小红叉!再一看build path,会发现jdk居然变回了1.5的!主要是因为maven的默认jdk的是1.5的原因造成的。修改一下pom.xml即可。在pom.xml文件中的build标签中的filename标签后面加入如下代码
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
加完代码后,保存pom.xml,修改完成后,再重新配置jdk的版本。
配置完jdk后,再右键项目 Maven---->Update Project,是不是发现项目不会再出现小红叉了呢?
2.刷新maven项目出现小红叉 --->配置maven全局jdk解决
如果每新建一个项目,都要弄这么久,是不是有点麻烦,尤其是jdk的问题。其实可以通过配置maven默认的jdk来解决。找到maven安装目录下的conf文件中settings.xml文件打开,在profiles标签中添加如下代码,
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
保存,在eclipse中刷新maven的设置即可。以后再刷新也不会出现jdk跳回1.5的情况了。
三、小小总结
这算是我在使用maven中遇到的问题总结记录,我也是刚用maven不久,水平有限,若有错误的地方,还望大家指出来,谢谢!