Wie kann ich Gastgeber ein .jar-Datei direkt in einem Krieg in Wildfly / JBoss?
Frage
Ich habe also eine sehr einfache Frage.Ich habe eine ziemlich triviale .kriegsdatei, die gerne jede Art von Datei hostet, die ich darauf werfe - mit Ausnahme einer .jar-Datei.
Hier ist mein .kriegsdatei:
IN: WEB-INF/web.XML:
<?xml version="1.0" encoding="UTF-8" ?>
<web-app id="WebApp_ID" version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" />
META-INF / MANIFEST.MF:
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.9.2
Created-By: 1.8.0_05-b13 (Oracle Corporation)
und die folgenden vier Dateien:
index.html
folder/jar.jar
folder/jar.zip
folder/index.html
Ich stelle meinen Krieg auf einem Wildfly-8.1.0-Server als "testwar.Krieg".Wenn ich das tue, kann ich auf alle Dateien außer Ordner / jar zugreifen.jar über eine ganz normale URL:
http://localhost:8080/testwar/
http://localhost:8080/testwar/folder/
http://localhost:8080/testwar/folder/jar.zip
All diese arbeiten.Aber
http://localhost:8080/testwar/folder/jar.jar
gibt einen 404 zurück.
Ich kann für mein ganzes Leben nicht herausfinden, warum die JAR-Datei nicht angezeigt wird oder wie sie behoben werden kann.Irgendwelche Gedanken?
Lösung
Das Standardservlet von Wildfly / Undertow enthält eine Liste zulässiger und nicht zulässiger Erweiterungen, die in konfiguriert werden können web.xml
über Initialisierungsparameter. jar
ist standardmäßig nicht zulässig.
Fügen Sie Ihrem Folgendes hinzu web.xml
so aktivieren Sie die jar
Erweiterung:
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>io.undertow.servlet.handlers.DefaultServlet</servlet-class>
<init-param>
<param-name>default-allowed</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>allowed-extensions</param-name>
<param-value>jar</param-value>
</init-param>
<init-param>
<param-name>disallowed-extensions</param-name>
<param-value>exe,bat,sh</param-value>
</init-param>
</servlet>
Andere Tipps
fand die Antwort hier: JBoss Community Thread
Version 8.1.1.0 von wildfly standardmäßig weigert sich, .jar-Dateien zu dienen.Sie müssen das überschreiben, indem Sie Ihren Web.xml den folgenden Block hinzufügen (standardmäßig "JAR" eine nicht zulässige Erweiterung):
generasacodicetagpre.