2011-11-25 148 views
2

我想部署一個Vaadin/JEE6應用程序到TomEE。TomEE投擲IndexOutOfBoundsException

以下異常部署期間拋出:

org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/myapp]] 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:152) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:812) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:787) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:607) 
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:932) 
    at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:723) 
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:470) 
    at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1370) 
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:294) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) 
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) 
    at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1242) 
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1400) 
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1410) 
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1389) 
    at java.lang.Thread.run(Thread.java:680) 
Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 
    at java.util.ArrayList.RangeCheck(ArrayList.java:547) 
    at java.util.ArrayList.get(ArrayList.java:322) 
    at org.apache.openejb.tomcat.catalina.TomcatWebAppBuilder.loadWebModule(TomcatWebAppBuilder.java:892) 
    at org.apache.openejb.tomcat.catalina.TomcatWebAppBuilder.loadApplication(TomcatWebAppBuilder.java:879) 
    at org.apache.openejb.tomcat.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:416) 
    at org.apache.openejb.tomcat.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:377) 
    at org.apache.openejb.tomcat.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:117) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) 
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5103) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:148) 
    ... 15 more 

我必須承認,我不知道爲什麼這可能會引發異常。在深入研究TomEE代碼之前,我想問問這裏有沒有人偶然發現了這個異常,並且可以給我一個提示,以尋找錯誤。

+0

看起來像OpenEJB的錯誤或配置錯誤。在OpenEJB中至少有一個錯誤,就是爲什麼這個列表可能是空的,沒有引發更多非正式的例外。 – BalusC

+0

看起來像沒有網絡模塊被認可 private void loadWebModule(AppModule appModule,StandardContext standardContext)WebModule webModule = appModule.getWebModules()。get(0); – stratwine

+0

一個粗略的猜測 - 是Web應用程序一個沒有web.xml的Web應用程序?您可以通過設置以下系統屬性來檢查是否存在任何警告:openejb.validation.skip = false openejb.validation.output.level = VERBOSE – stratwine

回答

0

似乎是一個多功能車beta-1和多功能車項目設置的組合。詳情請參閱TomEE-51