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代碼之前,我想問問這裏有沒有人偶然發現了這個異常,並且可以給我一個提示,以尋找錯誤。
看起來像OpenEJB的錯誤或配置錯誤。在OpenEJB中至少有一個錯誤,就是爲什麼這個列表可能是空的,沒有引發更多非正式的例外。 – BalusC
看起來像沒有網絡模塊被認可 private void loadWebModule(AppModule appModule,StandardContext standardContext)WebModule webModule = appModule.getWebModules()。get(0); – stratwine
一個粗略的猜測 - 是Web應用程序一個沒有web.xml的Web應用程序?您可以通過設置以下系統屬性來檢查是否存在任何警告:openejb.validation.skip = false openejb.validation.output.level = VERBOSE – stratwine