当我使用eclipse使用“maven-archetype-webapp”创建webapp时,它只会创建Servlet 2.3。怎样才能创建Servlet 3.0?
当我使用eclipse使用“maven-archetype-webapp”创建webapp时,它只会创建Servlet 2.3。怎样才能创建Servlet 3.0?
目前还没有很好的方法来实现这一点。
Eclipse正在解析web.xml文件以识别项目的facet和servlet版本。
要在Eclipse中实现servlet 3.0 web应用,请按照以下步骤进行:
仅使用Eclipse:
New -> Project -> Mvn Project
Replace web.xml file with new 3.0 version:
<?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" version="3.0">
<display-name>Archetype Created Web Application</display-name>
</web-app>
Close project and delete it from the workspace (don't delete files on the disk)
import -> Existing Maven Project
Create MVN project of maven-archetype-webapp
mvn archetype:generate
-DarchetypeGroupId=org.apache.maven.arechetypes
-DarchetypeArtifactId=maven-archetype-webapp
-DarchetypeVersion=1.0
-DgroupId=<my.groupid>
-DartifactId=<my-artifactId>
Replace contents of web.xml as in eclipse method point 2.
我发现最简单的方法是在eclipse中创建一个动态Web项目,然后将其转换为Maven项目:
该项目将配置最新版本的servlet。
然后在pom.xml中添加servlet和jsp依赖项:
<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>javax.servlet.jsp-api</artifactId>
<version>2.3.1</version>
<scope>provided</scope>
</dependency>
我通常会创建2.3版本的Web应用程序,然后将其更改为3.0版本。 大致步骤如下: