كيف يمكنني استضافة ملف .jar مباشرة داخل الحرب في Wildfly/JBoss؟

StackOverflow https://stackoverflow.com//questions/25048280

  •  21-12-2019
  •  | 
  •  

سؤال

لذلك لدي سؤال بسيط جدا.لدي ملف .war تافه إلى حد ما والذي سيستضيف بكل سرور أي نوع من الملفات التي أستخدمها - باستثناء ملف .jar.

إليك ملف .war الخاص بي:

ويب-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" />

ميتا-INF/MANIFEST.MF:

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.9.2
Created-By: 1.8.0_05-b13 (Oracle Corporation)

والملفات الأربعة التالية:

index.html
folder/jar.jar
folder/jar.zip
folder/index.html

أقوم بنشر حربي على خادم Wildfly-8.1.0 باسم "testwar.war".عندما أفعل ذلك، يمكنني الوصول إلى جميع الملفات باستثناء المجلد/jar.jar عبر عنوان URL عادي تمامًا:

http://localhost:8080/testwar/
http://localhost:8080/testwar/folder/
http://localhost:8080/testwar/folder/jar.zip

كل هؤلاء يعملون.لكن

http://localhost:8080/testwar/folder/jar.jar

إرجاع 404.

لا أستطيع طوال حياتي معرفة سبب عدم ظهور ملف الجرة، أو كيفية إصلاحه.أي أفكار؟

هل كانت مفيدة؟

المحلول

يحتوي الخادم الافتراضي لـ Wildfly/Undertow على قائمة بالامتدادات المسموح بها وغير المسموح بها والتي يمكن تهيئتها في web.xml عبر معلمات init. jar غير مسموح به بشكل افتراضي.

أضف ما يلي إلى الخاص بك web.xml لتمكين jar امتداد:

<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>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top