我想将上下文根从“ / 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之类的目录名称时,没有此问题。但是,如果我使用这个,我将无法访问/ 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>