如何在maven中创建Servlet 3.0 Web应用程序?

问题描述 投票:0回答:4

当我使用 eclipse 使用“maven-archetype-webapp”使用 maven 创建 webapp 时,它仅创建 Servlet 2.3。如何创建 Servlet 3.0?

eclipse maven servlets web-applications maven-archetype
4个回答
10
投票

目前还没有什么好的办法。

Eclipse 正在解析 web.xml 以识别项目的方面,从而识别 servlet 版本。

要在 Eclipse 中实现 servlet 3.0 Web 应用程序,请按照以下步骤操作:

仅使用 Eclipse:

  1. 创建maven-archetype-webapp的MVN项目
    New -> Project -> Mvn Project
  2. 用新的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>
    
  3. 关闭项目并将其从工作区中删除(不要删除磁盘上的文件)

  4. 从项目文件夹中删除 .project 和 .classpath 文件以及 .settings 目录
  5. 使用
    import -> Existing Maven Project
  6. 重新导入项目

使用MVN命令行+Eclipse

  1. 创建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>
    
  2. 按照 eclipse 方法点 2 替换 web.xml 的内容。

  3. 与 eclipse 方法中的第 5 点相同。

3
投票

我发现的最简单的方法是在 Eclipse 中创建一个动态 Web 项目,然后将其转换为 Maven 项目:

  1. 文件 -> 新建 -> 动态 Web 项目
  2. 右键单击项目名称:配置 -> 转换为 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>

0
投票

我通常创建 2.3 webapp,然后将其更改为 3.0 版本。 步骤大概是:

  1. 在pom.xml中:添加maven-compiler-plugin配置。将源和目标设置为当前 java 版本 (1.8),将 servlet-api、jsp-api、jstl 添加到依赖项。
  2. 删除 web.xml。
  3. 打开项目属性(在项目资源管理器中按 Alt+Enter)
  4. 单击项目方面
  5. 取消选中 Dynamic Web Module 的复选框,将版本更改为 3.0
  6. 重新选中复选框。单击进一步配置,将WebContent更改为src/main/webapp。
  7. 生成部署描述符(在项目资源管理器中,右键单击部署描述符/生成部署描述符存根)

0
投票

就我而言,在 pom.xml 中检查

<packaging> </packaging>
使用
war(file format)
jstl 2.0 3.0
更好兼容。

© www.soinside.com 2019 - 2024. All rights reserved.