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.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, dass dies ein bekannter Fehler ist sogar in den jüngsten Versionen der intellij IDEE (obwohl Sie Anspruch auf 2017.3 ultimate ist Java EE8 bereit).
Zumindest der folgende FEHLER ist immer noch "ungelöste":
https://youtrack.jetbrains.com/issue/IDEA-182745
IntelliJ ist nicht zu finden, die schemas, weil Sie nicht verfügbar sind auf den genannten Standorten. Laden Sie die folgenden schemas aus hier:
- web-app_4_0.xsd
- web-common_4_0.xsd
- web-fragment_4_0.xsd
Wählen Sie dann http://xmlns.jcp.org/xml/ns/javaee, drücken Sie Alt+EINGABETASTE, und wählen Sie "Manuelles setup externe Ressourcen" und wählen Sie web-app_4_0.xsd in das Feld Datei.