タイププロジェクトファセット動的Webモジュールのバージョンを3.1に変更できません。

理由:

新しい動的Webプロジェクトweb.xmlのデフォルトは次のとおりです。

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
  <display-name>Archetype Created Web Application</display-name>
</web-app>

ここのバージョン2.3は古すぎるため、バージョン3.1などの新しいバージョンに変更されています。

次のように変更した後

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                      http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
	version="3.1" metadata-complete="true">
  <display-name>Archetype Created Web Application</display-name>
</web-app>

このとき、以下のエラーが表示されます。

その理由は、jd​​kをコンパイルするMavenのレベルが低すぎるためです。

プロジェクトを右クリック->プロパティ->プロジェクトファセット->動的Webモジュールの変更2.3から3.1

しかし、ここでは変更できないことがわかりました

プロジェクトfolder.settingsディレクトリでorg.eclipse.wst.common.project.facet.core.xmlファイルを見つけます

次のようにコンテンツを変更します。java1.8、jst.web 3.1

<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
  <fixed facet="wst.jsdt.web"/>
  <installed facet="java" version="1.8"/>
  <installed facet="jst.web" version="3.1"/>
  <installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>

pom.xmlファイルを開き、Mavenプラグインを追加します

  <build>
    <finalName>study</finalName>
   	<plugins>
		<plugin>
			<!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-compiler-plugin -->
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-compiler-plugin</artifactId>
			<version>3.8.1</version>
			<configuration>
				<source>1.8</source>
				<target>1.8</target>
				<encoding>UTF8</encoding>
			</configuration>
		</plugin>
	</plugins>
  </build>

保存して終了

プロジェクトを右クリック-> maven->プロジェクトのアップロード

おすすめ

転載: blog.csdn.net/qq_26896085/article/details/108167307