当我使用 eclipse 使用“maven-archetype-webapp”使用 maven 创建 webapp 时,它仅创建 Servlet 2.3。如何创建 Servlet 3.0?
目前还没有什么好的办法。
Eclipse 正在解析 web.xml 以识别项目的方面,从而识别 servlet 版本。
要在 Eclipse 中实现 servlet 3.0 Web 应用程序,请按照以下步骤操作:
仅使用 Eclipse:
New -> Project -> Mvn Project
用新的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" version="3.0">
<display-name>Archetype Created Web Application</display-name>
</web-app>
关闭项目并将其从工作区中删除(不要删除磁盘上的文件)
import -> Existing Maven Project
使用MVN命令行+Eclipse
创建maven-archetype-webapp的MVN项目
mvn archetype:generate
-DarchetypeGroupId=org.apache.maven.arechetypes
-DarchetypeArtifactId=maven-archetype-webapp
-DarchetypeVersion=1.0
-DgroupId=<my.groupid>
-DartifactId=<my-artifactId>
按照 eclipse 方法点 2 替换 web.xml 的内容。
我发现的最简单的方法是在 Eclipse 中创建一个动态 Web 项目,然后将其转换为 Maven 项目:
该项目将配置最新版本的servlet
然后将servlet和jsp依赖添加到pom.xml中:
<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 webapp,然后将其更改为 3.0 版本。 步骤大概是:
就我而言,在 pom.xml 中检查
<packaging> </packaging>
使用 war(file format)
与 jstl 2.0 3.0
更好兼容。