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?

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top