I have a standard WAR application (works on tomcat 5.5 and 6 as is) which uses MyFaces and it fails to start in virgo. Based on the log below, I can't tell if this is a JNDI problem or myfaces -- "/WEB-INF/lib/myfaces-api-1.2.5.jar" actually exists in the WAR.
I would appreciate if someone can shed some light on the real root cause.
HD0001I Hot deployer processing 'CREATED' event for file 'EMA-Server.war'.
ApplicationDeploying path 'C:\APPSER~1\VIRGO-~1.REL\pickup\EMA-Server.war'.
Processing installing event for bundle 'EMA-Server' version '0.0.0'
DE0000I Installing bundle 'EMA-Server' version '0.0.0'.
Calculating missing dependencies of bundle(s) 'EMA-Server_0.0.0'
The dependencies of '[EMA-Server_0.0.0]' are '[]'
Processing installed event for 'EMA-Server:0.0.0'
DE0001I Installed bundle 'EMA-Server' version '0.0.0'.
Thread context class loader 'BundleDelegatingClassLoader for [Virgo Kernel Deployer (org.eclipse.virgo.kernel.deployer)]' popped and set to 'BundleDelegatingClassLoader for [Virgo Kernel Deployer (org.eclipse.virgo.ker
Thread context class loader 'BundleDelegatingClassLoader for [Virgo Kernel Deployer (org.eclipse.virgo.kernel.deployer)]' pushed and set to 'KernelBundleClassLoader: [bundle=EMA-Server_0.0.0]'
Thread context class loader 'KernelBundleClassLoader: [bundle=EMA-Server_0.0.0]' popped and set to 'BundleDelegatingClassLoader for [Virgo Kernel Deployer (org.eclipse.virgo.kernel.deployer)]'
Thread context class loader 'BundleDelegatingClassLoader for [Virgo Kernel Deployer (org.eclipse.virgo.kernel.deployer)]' pushed and set to 'KernelBundleClassLoader: [bundle=EMA-Server_0.0.0]'
Thread context class loader 'KernelBundleClassLoader: [bundle=EMA-Server_0.0.0]' pushed and set to 'KernelBundleClassLoader: [bundle=EMA-Server_0.0.0]'
No atomic parent of bundle 'EMA-Server' version '0.0.0' in scope 'null' to propagate starting event to
DE0004I Starting bundle 'EMA-Server' version '0.0.0'.
Non-Spring DM powered bundle 'EMA-Server_0.0.0 [66]' has started. Driving signals '[org.eclipse.virgo.kernel.install.artifact.internal.AbstractInstallArtifact$StateMonitorSignal@7cddcb]'.
Thread context class loader 'KernelBundleClassLoader: [bundle=EMA-Server_0.0.0]' pushed and set to 'KernelBundleClassLoader: [bundle=EMA-Server_0.0.0]'
Thread context class loader 'KernelBundleClassLoader: [bundle=EMA-Server_0.0.0]' popped and set to 'KernelBundleClassLoader: [bundle=EMA-Server_0.0.0]'
Thread context class loader 'KernelBundleClassLoader: [bundle=EMA-Server_0.0.0]' popped and set to 'BundleDelegatingClassLoader for [Virgo Kernel Deployer (org.eclipse.virgo.kernel.deployer)]'
WE0000I Starting web bundle 'EMA-Server' version '0.0.0' with context path '/EMA-Server'.
Dec 13, 2010 7:24:09 PM org.apache.catalina.loader.WebappLoader start
INFO: Dual registration of jndi stream handler: factory already defined
Dec 13, 2010 7:24:09 PM org.apache.catalina.loader.WebappLoader start
SEVERE: LifecycleException
java.io.IOException: Failed to access resource /WEB-INF/lib/myfaces-api-1.2.5.jar
at org.apache.catalina.loader.WebappLoader.setRepositories(WebappLoader.java:1050)
at org.apache.catalina.loader.WebappLoader.start(WebappLoader.java:681)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4551)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546)
at org.eclipse.gemini.web.tomcat.internal.TomcatServletContainer.startWebApplication(TomcatServletContainer.java:120)
at org.eclipse.gemini.web.internal.StandardWebApplication.start(StandardWebApplication.java:90)
at org.eclipse.virgo.web.core.internal.WebBundleLifecycleListener.onStarted(WebBundleLifecycleListener.java:120)
at org.eclipse.virgo.kernel.install.artifact.internal.ArtifactStateMonitor.onStarted(ArtifactStateMonitor.java:205)
at org.eclipse.virgo.kernel.install.artifact.internal.AbstractInstallArtifact.asyncStartSucceeded(AbstractInstallArtifact.java:273)
at org.eclipse.virgo.kernel.install.artifact.internal.AbstractInstallArtifact.access$0(AbstractInstallArtifact.java:270)
at org.eclipse.virgo.kernel.install.artifact.internal.AbstractInstallArtifact$StateMonitorSignal.signalSuccessfulCompletion(AbstractInstallArtifact.java:223)
at org.eclipse.virgo.kernel.core.internal.BundleStartTracker$1.run(BundleStartTracker.java:140)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: javax.naming.NamingException: Name 'myfaces-api-1.2.5.jar' does not exist.
at org.eclipse.gemini.web.tomcat.internal.loading.BundleDirContext.getNamedEntry(BundleDirContext.java:74)
at org.eclipse.gemini.web.tomcat.internal.loading.BundleDirContext.doLookup(BundleDirContext.java:63)
at org.apache.naming.resources.BaseDirContext.lookup(BaseDirContext.java:378)
at org.apache.catalina.loader.WebappLoader.setRepositories(WebappLoader.java:1048)
... 16 more
Dec 13, 2010 7:24:09 PM org.apache.catalina.core.ContainerBase addChildInternal
SEVERE: ContainerBase.addChild: start:
LifecycleException: start: : java.io.IOException: Failed to access resource /WEB-INF/lib/myfaces-api-1.2.5.jar
at org.apache.catalina.loader.WebappLoader.start(WebappLoader.java:707)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4551)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546)
at org.eclipse.gemini.web.tomcat.internal.TomcatServletContainer.startWebApplication(TomcatServletContainer.java:120)
at org.eclipse.gemini.web.internal.StandardWebApplication.start(StandardWebApplication.java:90)
at org.eclipse.virgo.web.core.internal.WebBundleLifecycleListener.onStarted(WebBundleLifecycleListener.java:120)
at org.eclipse.virgo.kernel.install.artifact.internal.ArtifactStateMonitor.onStarted(ArtifactStateMonitor.java:205)
at org.eclipse.virgo.kernel.install.artifact.internal.AbstractInstallArtifact.asyncStartSucceeded(AbstractInstallArtifact.java:273)
at org.eclipse.virgo.kernel.install.artifact.internal.AbstractInstallArtifact.access$0(AbstractInstallArtifact.java:270)
at org.eclipse.virgo.kernel.install.artifact.internal.AbstractInstallArtifact$StateMonitorSignal.signalSuccessfulCompletion(AbstractInstallArtifact.java:223)
at org.eclipse.virgo.kernel.core.internal.BundleStartTracker$1.run(BundleStartTracker.java:140)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
ME0003I Dump 'serviceability\dump\2010-12-13-19-24-936' generated
Thread context class loader 'KernelBundleClassLoader: [bundle=EMA-Server_0.0.0]' popped and set to 'KernelBundleClassLoader: [bundle=EMA-Server_0.0.0]'
Exception in thread "start-signalling-4" java.lang.IllegalStateException: ContainerBase.addChild: start: LifecycleException: start: : java.io.IOException: Failed to access resource /WEB-INF/lib/myfaces-api-1.2.5.jar
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:795)