コンテキストルートを「/ war_name」(デフォルト)から「/」に変更したい。
したがって、WEB-INFディレクトリにプッシュしたjboss-web.xmlファイルを作成しました。
このファイルの内容は次のとおりです。
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
<context-root>/</context-root>
</jboss-web>
残念ながら、これによりwarのデプロイメント中に次のエラーが発生します。
ERROR [org.jboss.msc.service.fail] (MSC service thread 1-4) MSC00001: Failed to start service jboss.web.deployment.default-Host./: org.jboss.msc.service.StartException in service jboss.web.deployment.default-Host./: Failed to start service
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.Java:1780) [jboss-msc-1.0.1.GA.jar:1.0.1.GA]
at Java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.Java:1110) [:1.7.0_01]
at Java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.Java:603) [:1.7.0_01]
at Java.lang.Thread.run(Thread.Java:722) [:1.7.0_01]
Caused by: Java.lang.IllegalArgumentException: Child container with name already exists
at org.Apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.Java:804)
at org.Apache.catalina.core.ContainerBase.addChild(ContainerBase.Java:792)
ただし、/ RoomManagementのようなディレクトリ名を指定すると、この問題は発生しません。しかし、これを使用すると、/ RoomManagementにないJSPにアクセスできません。
Context-rootを「/」に適切に構成するためのアイデアはありますか?
ルートコンテキスト「/」で実行されている別のアプリがあるようです。
アプリをルートコンテキストに割り当てる前に、他のアプリを削除するか、別のコンテキストに移動する必要がある場合があります。
競合するアプリがJBoss AppServerルート自体である場合は、以下を使用して無効にすることができます(enable-welcome-root = "false")
<subsystem xmlns="urn:jboss:domain:web:1.0">
<connector name="http" protocol="HTTP/1.1" socket-binding="http" scheme="http"/>
<virtual-server name="localhost" enable-welcome-root="false">
<alias name="example.com"/>
</virtual-server>
</subsystem>