Hi Stephan, the second exception you also get with Jetty ... never found the reason for it :/ did you check if by any chances the JSF pages actually do work?
regards, Achim 2017-03-10 16:46 GMT+01:00 Stephan Siano <stephan.si...@sap.com>: > Hi, > > I have tried to enable the JSF based integration tests with the tomcat web > container. These tests fail becasue the war-jsf war does not start. > > The first issue I see is that the expression factory cannot be found. > > javax.el.ELException: Unable to find ExpressionFactory of type: > org.apache.el.ExpressionFactoryImpl > at javax.el.ExpressionFactory.newInstance(ExpressionFactory. > java:165)[104:org.ops4j.pax.tipi.tomcat-embed-core:8.0.14.1] > at javax.el.ExpressionFactory.newInstance(ExpressionFactory. > java:104)[104:org.ops4j.pax.tipi.tomcat-embed-core:8.0.14.1] > > > I have looked into the jetty code and they replace the classloader for the > context (which is a ResouceDelegatingBundleClassloader for the war) with > a newly instantiated ResourceDelegatingBundleClassloader, which uses the > pax-web-jetty-bundle classloader as a parent classloader. If I do the same > in pax-web-tomcat (with pax-web-tomcat-bundle as a parent classloader) el > works, but now I get another error: > > org.ops4j.pax.web.pax-web-runtime[org.ops4j.pax.web.service.internal.HttpServiceStarted] > : Exception finalizing HttpContext registration > org.apache.catalina.LifecycleException: Failed to start component > [StandardEngine[Catalina].StandardHost[localhost]. > StandardContext[[war-jsf-sample]-org.ops4j.pax.web.extender.war.internal. > WebAppWebContainerContext]] > at org.apache.catalina.util.LifecycleBase.start( > LifecycleBase.java:154) > at org.ops4j.pax.web.service.tomcat.internal. > TomcatServerWrapper$2$1.call(TomcatServerWrapper.java:903) > at org.ops4j.pax.web.service.tomcat.internal. > TomcatServerWrapper$2$1.call(TomcatServerWrapper.java:899) > at org.ops4j.pax.swissbox.core.ContextClassLoaderUtils. > doWithClassLoader(ContextClassLoaderUtils.java:60) > at org.ops4j.pax.web.service.tomcat.internal. > TomcatServerWrapper$2.start(TomcatServerWrapper.java:897) > at org.ops4j.pax.web.service.internal.HttpServiceStarted. > end(HttpServiceStarted.java:1137) > at org.ops4j.pax.web.service.internal.HttpServiceProxy.end( > HttpServiceProxy.java:444) > at org.ops4j.pax.web.extender.war.internal. > RegisterWebAppVisitorWC.end(RegisterWebAppVisitorWC.java:398) > at org.ops4j.pax.web.extender.war.internal.model.WebApp. > accept(WebApp.java:656) > at org.ops4j.pax.web.extender.war.internal.WebAppPublisher$ > WebAppDependencyListener.register(WebAppPublisher.java:228) > at org.ops4j.pax.web.extender.war.internal.WebAppPublisher$ > WebAppDependencyListener.addingService(WebAppPublisher.java:173) > at org.ops4j.pax.web.extender.war.internal.WebAppPublisher$ > WebAppDependencyListener.addingService(WebAppPublisher.java:129) > at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding( > ServiceTracker.java:941) > at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding( > ServiceTracker.java:870) > at org.osgi.util.tracker.AbstractTracked.trackAdding( > AbstractTracked.java:256) > at org.osgi.util.tracker.AbstractTracked.trackInitial( > AbstractTracked.java:183) > at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:318) > at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:261) > at org.ops4j.pax.web.extender.war.internal.WebAppPublisher. > publish(WebAppPublisher.java:98) > at org.ops4j.pax.web.extender.war.internal.WebObserver. > deploy(WebObserver.java:217) > at org.ops4j.pax.web.extender.war.internal.WebObserver$1. > doStart(WebObserver.java:172) > at org.ops4j.pax.web.extender.war.internal.extender. > SimpleExtension.start(SimpleExtension.java:59) > at org.ops4j.pax.web.extender.war.internal.extender. > AbstractExtender.lambda$createExtension$0(AbstractExtender.java:277) > at java.util.concurrent.Executors$RunnableAdapter. > call(Executors.java:511) > at java.util.concurrent.FutureTask.run(FutureTask.java:266) > at java.util.concurrent.ScheduledThreadPoolExecutor$ > ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) > at java.util.concurrent.ScheduledThreadPoolExecutor$ > ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) > at java.util.concurrent.ThreadPoolExecutor.runWorker( > ThreadPoolExecutor.java:1142) > at java.util.concurrent.ThreadPoolExecutor$Worker.run( > ThreadPoolExecutor.java:617) > at java.lang.Thread.run(Thread.java:745) > Caused by: java.lang.IllegalStateException: No Factories configured for > this Application. This happens if the faces-initialization does not work at > all - make sure that you properly include all configuration settings > necessary for a basic faces application and that all the necessary libs are > included. Also check the logging output of your web application and your > container for any exceptions! > If you did that and find nothing, the mistake might be due to the fact > that you use some special web-containers which do not support registering > context-listeners via TLD files and a context listener is not setup in your > web.xml. > A typical config looks like this; > <listener> > <listener-class>org.apache.myfaces.webapp.StartupServletContextListener< > /listener-class> > </listener> > > at javax.faces.FactoryFinder._getFactory(FactoryFinder.java:305) > at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:225) > at javax.faces.webapp.FacesServlet.init(FacesServlet.java:115) > at org.apache.catalina.startup.Tomcat$ExistingStandardWrapper. > loadServlet(Tomcat.java:868) > at org.ops4j.pax.web.service.tomcat.internal.TomcatServerWrapper$ > OsgiExistingStandardWrapper$1.call(TomcatServerWrapper.java:289) > at org.ops4j.pax.web.service.tomcat.internal.TomcatServerWrapper$ > OsgiExistingStandardWrapper$1.call(TomcatServerWrapper.java:284) > at org.ops4j.pax.swissbox.core.ContextClassLoaderUtils. > doWithClassLoader(ContextClassLoaderUtils.java:60) > at org.ops4j.pax.web.service.tomcat.internal.TomcatServerWrapper$ > OsgiExistingStandardWrapper.load(TomcatServerWrapper.java:282) > at org.apache.catalina.core.StandardContext.loadOnStartup( > StandardContext.java:4969) > at org.apache.catalina.core.StandardContext.startInternal( > StandardContext.java:5255) > at org.apache.catalina.util.LifecycleBase.start( > LifecycleBase.java:150) > ... 29 more > > Do you have any idea, what is wrong now? > > Best regards > Stephan > > -- > -- > ------------------ > OPS4J - http://www.ops4j.org - ops4j@googlegroups.com > > --- > You received this message because you are subscribed to the Google Groups > "OPS4J" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to ops4j+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- Apache Member Apache Karaf <http://karaf.apache.org/> Committer & PMC OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer & Project Lead blog <http://notizblog.nierbeck.de/> Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS> Software Architect / Project Manager / Scrum Master -- -- ------------------ OPS4J - http://www.ops4j.org - ops4j@googlegroups.com --- You received this message because you are subscribed to the Google Groups "OPS4J" group. To unsubscribe from this group and stop receiving emails from it, send an email to ops4j+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.