2012-04-09 2 views
23

Je souhaite remplacer la racine de contexte par "/ war_name" (par défaut) par "/".Modification de la racine de contexte pour une application Web sous JBoss As 7

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

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 la guerre:

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, quand je mets un nom de répertoire comme:/RoomManagement, je ne pas avoir 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 à "/"?

Répondre

59

Il semble qu'il y ait une autre application qui s'exécute au niveau du contexte racine "/".

Vous devrez peut-être supprimer l'autre application ou la placer dans un contexte différent avant de pouvoir attribuer votre application au contexte racine.

Si l'application est en conflit racine JBoss AppServer lui-même, vous pouvez désactiver qu'utiliser les éléments suivants (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> 
+0

Merci :) Il résout mon problème :) – Mik378

+0

Génial! Content que ça a marché. – uaarkoti

+2

Ce fichier où se trouve ce fichier XML (s'il est exécuté dans le mode autonome par défaut) se trouve dans% JBOSS_HOME%/configuration/standalone.xml. – GreenieMeanie