Wildfly / JBossの戦争の中で直接.jarファイルをホストする方法を教えてください。

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

  •  21-12-2019
  •  | 
  •  

質問

だから私は非常に簡単な質問をしています。私は喜んで私が投げるファイルの種類を喜んでホストするかなり些細な.warファイルを持っています - .jarファイルを除く。

これは私の.warファイルです:

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)
.

と次の4つのファイル:

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

「TESTWAR.WAR」としてWARDFLY-8.1.0サーバーとの私の戦争を展開しています。そうするとき、私はFolder / 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 / indundtowのデフォルトのサーブレットには、initパラメータを介してweb.xmlで設定できる許可および許可されていない拡張機能のリストがあります。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