element web-app muss deklariert werden(Servlet 4.0)

Habe ich versucht zu verwenden Servlet 4.0-namespace. Die Anwendung gut funktioniert, aber die IDEE einen Fehler erkennt: " - Element web-app" muss erklärt werden".

<?xml version="1.0" encoding="UTF-8"?>
<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_4_0.xsd"
         version="4.0">
    ...
    ...
</web-app>

Snapshot
(Ich kann keine Bilder hochladen direkt.)

Wenn ich geändert und die version 3.1 funktioniert es gut:

<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">

Laut Java EE: XML Schemas for Java EE Deployment Descriptors# Mit Java-EE-Schemas:

Alle Java-EE-7 und neuer Deployment-Deskriptor Schemata Anteil der namespace http://xmlns.jcp.org/xml/ns/javaee/. Jedes schema-Dokument enthält das Attribut version enthält die version der Spezifikation. Zum Beispiel die XML-Schema-Dokument für die Servlet-Spezifikation enthält die version-Attribut mit dem Wert "3.1", in Bezug auf die spezifische Fassung der Spezifikation, ebenso wie das schema-Dokument selbst.

Ist version="4.0" nicht unterstützt? Ich benutze IntelliJ IDEA 2017.2.5 + javax.servlet-api 4.0 + Apache Tomcat v9.0.1.


Aktualisiert: ich fand ein Beispiel web.xml(in apache-tomcat-9.0.1/webapps/examples/WEB-INF/web.xml):

<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_4_0.xsd"
  version="4.0"
  metadata-complete="true">
  • Werden Sie ein application server, der verarbeitet 4.0 von der servlet-spec? Jetzt ist es nur Glassfish 5.0 release im September 2017 oder Tomcat-9.
  • Danke für dein relais. Ich verwende Tomcat-v9.0.1.
InformationsquelleAutor shui | 2017-11-17
Schreibe einen Kommentar