web-dev-qa-db-fra.com

Modification de la racine de contexte pour une application Web sous JBoss As 7

Je veux changer la racine de contexte de "/ war_name" (par défaut) en "/".

Ainsi, j'ai créé un fichier jboss-web.xml que j'ai poussé dans le répertoire WEB-INF.

Le contenu de ce fichier est:

<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
    <context-root>/</context-root>
</jboss-web>

Malheureusement, cela provoque l'erreur suivante lors du déploiement de 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)

Cependant, lorsque je mets un nom de répertoire comme:/RoomManagement, je n'ai pas ce problème. Mais si j'utilise celui-ci, je ne pourrais pas accéder aux JSP qui ne sont pas dans/RoomManagement.

Avez-vous une idée pour bien configurer la racine de contexte sur "/"?

23
Mik378

Il semble qu'il existe une autre application qui s'exécute dans le contexte racine "/".

Vous devrez peut-être supprimer l'autre application ou la déplacer vers un autre contexte avant de pouvoir affecter votre application au contexte racine.

Si l'application en conflit est la racine JBoss AppServer elle-même, vous pouvez la désactiver à l'aide de ce qui suit (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>
59
uaarkoti