初次使用maven构建项目工程的过程中,出现了很多小问题,比如项目的核心骨架添加不上、创建的项目有小红叉、默认JRE版本低导致无法创建web3.1项目等等。本文使用eclipse环境,搭建Maven web3.1项目,前提是已经正确安装和配置JDK1.8、Tomcat8、Maven3。
1、创建maven项目新建一个maven项目,确定好项目的路径位置,选择坐标如下图所示的项,点击next,输入groupId和artifactId,点击finish。
项目创建好之后,目录结构并没有自动生成maven的标准形式,需要手动补全。打开Navigator视图,在src文件夹下进行test文件夹,并在此test文件夹和原src文件夹下的main文件夹下都创建java和resources子文件夹。这是一个最核心基本的结构,后续有需要则在此视图下继续增加。项目结构如下所示。
由于maven生成的web.xml是2版本的,如果要创建web3.1项目,需要手动更改web.xml文件,在webapp/WEB-INF下,打开web.xml文件,并替换内容如下代码所示。
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1"
metadata-complete="true">
</web-app>
4、修改pom.xml文件
pom.xml文件里面也有很多需要修改和添加的地方,首先把Junit的依赖的版本改成较新的4.10,在build标签里面添加如下代码,以便maven将默认的JDK1.5换成JDK1.8。
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
对于pom.xml中的依赖,则是根据项目的实际需要进行添加。但是Servlet等web的依赖建议如下,一定要保证Servlet为较新版本:
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
5、设置项目属性
右键项目 properties-->java build path --> libraries,如果JRE System Library不是1.8的话,双击,将其设置为1.8。
同时将Java Compile里的Compiler compliance level: 改成1.8,如下图所示。
最后不要忘记点击Apply然后OK关闭。
在Navigtor视图中的.settings中找到org.eclipse.wst.common.project.facet.core.xml文件,打开修改代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<fixed facet="wst.jsdt.web"/>
<installed facet="java" version="1.8"/>
<installed facet="jst.web" version="3.1"/>
<installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>
最后会到Project视图,右击项目,选Maven-->Update Project,确定后项目上的小红叉也会消失。web3.1项目就创建完成了,这时候将这个项目部署到Tomcat服务器里,然后启动,在浏览器中输入地址,回车运行,将会有如下所示的界面出现。
至此说明Maven web3.1项目已经正确创建,之后就可以正式开工,在这个架构里面进行编码等后续工作了。
使用命令mvn archetype:generate -DgroupId=xxx -DartifactId=yyy -DarchetypeArtifactId=maven-archetype-webapp
,也可以创建一个maven的web项目,注意使用此命令前确定所在的路径。然后稍等稍等稍等稍等......就会有version的版本提示,当然是输入0.0.1-SNAPSHOT,根据提示选择y项目就创建成功了。
打开Eclipse,选择Import,导入Maven项目,如下图所示:
这样maven项目也就导入到eclipse了,再根据上面的2-6步进行相应的修改,项目创建成功。