2015-05-14 33 views
1

我已經在由少量war(Web Archive)組成的JBoss中部署了耳朵。基本上,部署的ear文件是由Ant在Ant開始構建之前通過設置TOMCAT_HOME來構建的。JBWEB000250:名稱已存在的子容器

set TOMCAT_HOME=C:\apache-tomcat-6.0.32 

我得到以下錯誤。我部署它在JBoss的EAP 6.4.0.GA(AS 7.5.0.Final-紅帽-21)

11:38:34340 ERROR [org.jboss.msc.service.fail](MSC服務線程1-5)MSC000001:無法啓動服務jboss.web.deployment.default-host./:服務中的org.jboss.msc.service.StartException jboss.web.deployment.default-host./:無法啓動服務 在org.jboss.msc.service.ServiceControllerImpl $ StartTask.run(ServiceControllerImpl.java:1936)[jboss-msc-1.1.5.Final-redhat-1.jar:1.1.5.Final-redhat-1] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[rt.jar:1.8.0_45] at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)[rt.jar: 1.8.0_45] at java.lang.Threa d.run(Thread.java:745)[rt.jar中:1.8.0_45]

引起:java.lang.IllegalArgumentException異常:JBWEB000250:與名兒童容器已經存在

引起:java.lang.IllegalArgumentException:JBWEB000250:名稱的子容器已存在 at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:794) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase .java:785) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:353) at org.jboss.as.web.deployment.We bContextInjector.inject(WebContextInjector.java:62) at org.jboss.as.web.deployment.WebContextInjector.inject(WebContextInjector.java:38) at org.jboss.msc.inject.CastingInjector.inject(CastingInjector.java: 55)[jboss-msc-1.1.5.Final-redhat-1.jar:1.1.5.Final-redhat-1] at org.jboss.msc.service.ServiceControllerImpl.doInject(ServiceControllerImpl.java:1704)[ jboss-msc-1.1.5.Final-redhat-1.jar:1.1.5.Final-redhat-1] at org.jboss.msc.service.ServiceControllerImpl.access $ 2000(ServiceControllerImpl.java:52)[jboss- msc-1.1.5.Final-redhat-1.jar:1.1.5.Final-redhat-1] at org.jboss.msc.service.ServiceControllerImpl $ StartTask.performInjections(ServiceControllerImpl.java:1949)[jboss-msc -1.1.5.Final-redhat-1.jar:1.1.5.Final-redhat-1] at org.jboss.msc.service.ServiceControllerImpl $ StartTask.run(ServiceContro llerImpl.java:1908)的jboss-MSC-1.1.5.Final-紅帽-1.jar:1.1.5.Final-紅帽-1] ... 3更

這個項目是一個傳統的項目。它在項目lib目錄下有Struts 1.2.9,Springs-2.0.8,Hibernate-3.2.6 jar文件,在Web Archives(.war)的\ WEB-INF \下有相同的配置。

基本上我移植從WebSphere應用到JBoss

我該如何解決或克服這個問題。

+0

我希望出現這個問題是因爲在.ear文件以及某些.war文件中出現了相同的.war文件。 –

回答

9

在standalone.xml這將是真正的enable-welcome-root 。如果您將其設置爲false,則可以在/上下文中部署網絡存檔.war ....

如果enable-welcome-root保持爲true,則會出現一些默認的jboss網頁。因此,需要對此進行更正,以在/上下文中部署Web應用程序。

<subsystem xmlns="urn:jboss:domain:web:2.1" default-virtual-server="default-host" native="false"> 
     <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/> 
     <virtual-server name="default-host" enable-welcome-root="false"> 
      <alias name="localhost"/> 
      <alias name="example.com"/> 
     </virtual-server> 
    </subsystem> 
1

發生此問題的原因是在.ear文件以及某些.war文件中出現了相同的.war文件。

在我的情況下,.war作爲一個.war \ WEB-INF \ lib下的一些.war文件同名的jar文件重複出現。那些.jar的文件夾除去了web文件夾。我希望這已經完成,以引用一些java文件。現在,我已經刪除了這些.jars。而現在我沒有得到這個具體的錯誤。

所以,現在,我整理出這個錯誤JBWEB000250: Child container with name already exists..

有通過設置TOMCAT_HOME建設螞蟻的目標沒有什麼危害。

但是它可能會有一些影響,因爲Web容器變化。

+0

這不是問題,因爲我需要將編譯的服務器端類作爲'.jar'放在'WEB-INF/lib /'中,因爲在我的APP中使用了spring IOC容器 –

0

的JBoss是不允許在/背景下部署任何的.war ....我們應該給予一定的Web上下文名稱...例如/scweb左右.....然後它成功....

.ear\META-INF\application.xml

<?xml version="1.0" encoding="UTF-8"?> 
    <application xmlns="http://java.sun.com/xml/ns/j2ee" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/application_1_4.xsd" 
     version="1.4"> 
     <display-name>PCB Application</display-name> 
     <module> 
      <web> 
       <web-uri>scWeb-1.1.war</web-uri> 
       <context-root>/scWeb</context-root> 
      </web> 
     </module> 
    </application> 

我希望有一些default-host部署在/

出於這個原因我只希望它說,像....

造成的:java.lang.IllegalArgumentException異常:JBWEB000250:與名稱子容器已經存在

爲了克服這個錯誤我刪除其放入了依賴注入所有.jar服務器端類.....後來我意識到,.jar不是錯誤的原因....我很困惑,因爲這個錯誤已經出現了一些網絡上下文......也許是因爲錯誤的快速解釋可能,我不知道。 ...

此錯誤僅適用於default-host ....或者它可能是因爲我有索姆Ëlm-shared.jar.ear\META-INF\lib

糾正我,如果我錯了....給我一些寫了,如果這個錯誤的原因可能是別的東西....

-1

要解決此問題,只需停止服務器JBOSS,導航到standalone/deployments目錄服務器並刪除.war項目。然後只需在服務器上重新添加項目,就完成了。

相關問題