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

时间:2013-07-28 16:58:30

标签: eclipse maven servlets web-applications maven-archetype

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

3 个答案:

答案 0 :(得分:6)

仍然没有办法做到这一点。

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

要在eclipse中实现servlet 3.0 Web应用程序,请执行以下步骤:

仅使用Eclipse:

  1. 创建maven-archetype-webapp的MVN项目 New -> Project -> Mvn Project
  2. 将web.xml文件替换为新的3.0版本:

    <?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点相同。

答案 1 :(得分:2)

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

  1. 文件 - &gt;新 - &gt;动态Web项目
  2. 右键单击项目名称:Configure - &gt;转换为Maven项目
  3. 该项目将配置最新版本的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 :(得分:0)

我通常创建2.3 webapp然后将其更改为3.0版本。 步骤大致如下:

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