为什么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项目设置:
m2e错误:
我正在使用eclipse氧气与Java 10和tomcat 9.我尝试关闭并重新打开我的项目,进行小的更改,然后Maven更新我的项目,删除maven配置错误,看看他们是否在更新后回来(他们回来)和其他类似的试错类型的东西。到目前为止,没有任何效果。
答案 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
标头中。