无法将项目方面动态Web模块的版本更改为3.1

时间:2018-05-16 13:56:46

标签: java eclipse maven m2eclipse servlet-4

为什么maven坚持在我的eclipse项目中将我的动态Web模块更改为3.1?我希望它保持4.0。有没有办法告诉maven我想要Servlet规范4.0?到目前为止,Maven文档还没有为我提供答案。

以下是我的部分内容:

       <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.7.0</version>
            <inherited>true</inherited>
            <configuration>
                <source>10</source>
                <target>10</target>
            </configuration>
      </plugin>
      <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-war-plugin</artifactId>
          <version>3.2.1</version>
          <configuration>
              <failOnMissingWebXml>false</failOnMissingWebXml>
          </configuration>
      </plugin>

Servlet jar:

<dependency>
          <groupId>javax.servlet</groupId>
          <artifactId>javax.servlet-api</artifactId>
          <version>4.0.1</version>
          <scope>provided</scope>             
</dependency>

Eclipse项目设置:

project settings

m2e错误:

m2e error

我正在使用eclipse氧气与Java 10和tomcat 9.我尝试关闭并重新打开我的项目,进行小的更改,然后Maven更新我的项目,删除maven配置错误,看看他们是否在更新后回来(他们回来)和其他类似的试错类型的东西。到目前为止,没有任何效果。

2 个答案:

答案 0 :(得分:2)

相关错误:https://bugs.eclipse.org/bugs/show_bug.cgi?id=530958

请尝试使用m2e-wtp 1.4.0。目前,最新的里程碑版本可从http://download.eclipse.org/m2e-wtp/milestones/photon/1.4/获得。

答案 1 :(得分:0)

只需使用:

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
    id="WebApp_ID" version="4.0">

代替:

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
    id="WebApp_ID" version="3.1">

在您的web.xml标头中。