Изменение корня контекста для веб-приложения под JBoss As 7
Я хочу изменить корень контекста с "/war_name" (по умолчанию) на "/".
Таким образом, я создал файл jboss-web.xml, который я ввел в каталог WEB-INF.
Содержимое этого файла:
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
<context-root>/</context-root>
</jboss-web>
К сожалению, это приводит к следующей ошибке во время развертывания войны:
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, у меня нет этой проблемы.
Но если я использую этот, я не смог бы получить доступ к JSP, которые не входят в /RoomManagement.
Есть ли у вас идея правильно настроить context-root на "/"?
Ответы
Ответ 1
Похоже, есть еще одно приложение, работающее в корневом контексте "/".
Возможно, вам придется удалить другое приложение или переместить его в другой контекст, прежде чем вы сможете назначить свое приложение корневому контексту.
Если конфликтующее приложение является корнем 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>