我将以下目录结构部署到 JBoss AS 7.1.1.Final(在 下standalone/deployments
):
doc.war
-> module1
-> index.html
-> module2
-> index.html
可以看到,doc.war 下没有 index.html。当我浏览到localhost:8080/doc/module1/时,会显示正确的 index.html,但是当我浏览到localhost:8080/doc/时,JBoss 会显示一条错误消息(404 - The requested resource is not available)。
我认为这与 JBoss AS 7 中默认关闭目录列表这一事实有关。我如何才能全局启用目录列表,或者更具体地为这个应用程序启用目录列表?
编辑
根据 Mukul Goel 的回答,我运行 CLI 命令来添加静态资源功能,重新启动服务器并重试请求,但它不起作用。
这是文件中的相关片段standalone.xml
。请注意,我启用了本机连接器。
<subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host" native="true">
<configuration>
<static-resources listings="true"/>
</configuration>
<connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
<connector name="https" protocol="HTTP/1.1" scheme="https" socket-binding="https"/>
<virtual-server name="default-host" enable-welcome-root="true">
<alias name="localhost"/>
<alias name="example.com"/>
</virtual-server>
</subsystem>
这是 JBoss 显示的错误消息:
更新
所以这个结论似乎是官方 JBoss 7.1.1.Final ( http://www.jboss.org/jbossas/downloads ) 下载存在问题。我没有设法让目录列表与这个版本一起工作。尝试更高版本(来自https://ci.jboss.org/jenkins/job/JBoss-AS-7.x-latest/的 JBoss CI 服务器),我能够在应用配置更改后看到目录列表Mukul Goel 在下面提出的建议。
此问题的潜在来源可能是 JBoss 中使用的 JBossWeb 版本。官方的 7.1.1.Final 捆绑了 JBossWeb 7.0.13。Mukul(见下文)能够让它运行一个捆绑了 JBossWeb 7.0.16 的 JBoss 版本。
我接受 Mukul Goel 的回答来解决这个问题,但请注意,它可能不适用于官方 7.1.1.Final 下载。