当我使用 eclipse 使用“maven-archetype-webapp”创建带有 maven 的 webapp 时,它只创建 Servlet 2.3。如何创建 Servlet 3.0?
问问题
10929 次
3 回答
9
仍然没有很好的方法来做到这一点。
Eclipse 正在解析 web.xml 以识别项目的方面,从而识别 servlet 版本。
要在 Eclipse 中实现 servlet 3.0 Web 应用程序,请执行以下步骤:
仅使用 Eclipse:
- 创建maven-archetype-webapp的MVN项目
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>
关闭项目并将其从工作区中删除(不要删除磁盘上的文件)
- 从项目文件夹中删除 .project 和 .classpath 文件以及 .settings 目录
- 使用重新导入项目
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>
将 web.xml 的内容替换为 eclipse 方法点 2 中的内容。
- 与 eclipse 方法中的第 5 点相同。
于 2015-09-21T21:24:52.243 回答
2
我发现的最简单的方法是在 eclipse 中创建一个动态 Web 项目,然后将其转换为 Maven 项目:
- 文件 -> 新建 -> 动态 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>
于 2017-12-02T00:02:42.213 回答
0
我通常创建 2.3 webapp 然后将其更改为 3.0 版本。步骤大致如下:
- 在 pom.xml 中:添加 maven-compiler-plugin 配置。源和目标设置为当前 Java 版本 (1.8),将 servlet-api、jsp-api、jstl 添加到依赖项。
- 删除 web.xml。
- 打开项目属性(Alt+Enter 在项目浏览器上)
- 单击项目方面
- 取消选中 Dynamic Web Module 的复选框,将版本更改为 3.0
- 复选复选框。单击进一步配置,将 WebContent 更改为 src/main/webapp。
- 生成部署描述符(在项目资源管理器中,右键单击部署描述符/生成部署描述符存根)
于 2016-05-21T11:26:21.287 回答