改变上下文根的JBoss下一个web应用程序作为7(Changing context root fo

2019-07-28 21:13发布

我想从“/ war_name”(默认)更改上下文根为“/”。

因此,我创建了我在WEB-INF目录推开的jboss-web.xml文件。

这个文件的内容是:

<?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。

你有没有为良好的配置上下文根为“/”的想法?

Answer 1:

它看起来像有人提供在根上下文“/”运行的其他应用程序。

您可能需要删除其他应用程序或将其移动到不同的环境之前,你可以将应用分配到根上下文。

如果有冲突的应用程序是JBoss的应用服务器根目录本身,你可以禁用,使用以下( 启用,欢迎根=“假”)

<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>


文章来源: Changing context root for a web app under JBoss As 7