Wildfly / JBossの戦争の中で直接.jarファイルをホストする方法を教えてください。
質問
だから私は非常に簡単な質問をしています。私は喜んで私が投げるファイルの種類を喜んでホストするかなり些細な.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>
. 他のヒント
ここでの回答を見つけました。 jbossコミュニティスレッド
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>io.undertow.servlet.handlers.DefaultServlet</servlet-class>
<init-param>
<param-name>allowed-extensions</param-name>
<param-value>jar, js, css, png, jpg, gif, html, htm, txt, pdf, jpeg, xml, zip</param-value>
</init-param>
<init-param>
<param-name>disallowed-extensions</param-name>
<param-value>class, war</param-value>
</init-param>
</servlet>
. 所属していません StackOverflow