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)