Re: Apache Karaf WAR + JSF
Hi Achim, In your example, you do not import javax.faces but use requires bundles Bundle-ClassPath = .,WEB-INF/classes,WEB-INF/classes/META-INF/myfaces_core.tld,WEB-INF/classes/META-INF/myfaces_html.tld Import-Package = javax.servlet;version=2.5.0, javax.servlet.http;version=2.5.0, javax.servlet.resources;version=2.1.0, javax.servlet.jsp;version=2.1.0, javax.servlet.jsp.jstl.core;version=1.1.2, javax.servlet.jsp.jstl.fmt;version=1.1.2, javax.servlet.jsp.jstl.tlv;version=1.1.2, org.apache.taglibs.standard.resources;version=1.1.2, org.apache.taglibs.standard.tag.common.core;version=1.1.2, org.apache.taglibs.standard.tag.rt.core;version=1.1.2, org.apache.taglibs.standard.tei;version=1.1.2, org.apache.taglibs.standard.tlv;version=1.1.2 Require-Bundle = org.apache.myfaces.core.api, org.apache.myfaces.core.impl Why don't you import javax.faces classes ? Here is the MANIFEST file generated for my example prime-showcase (1979) - Archiver-Version = Plexus Archiver Tool = Bnd-0.0.313 Hudson-Project = Examples - Showcase Implementation-Version = 1.0.0-SNAPSHOT Build-Jdk = 1.6.0_13 Generated-By-Ops4j-Pax-From = wrap:jardir:/Users/charlesmoulliard/Apache/karaf/assembly/target/apache-karaf-2.1.99-SNAPSHOT/deploy/prime-showcase$Bundle-SymbolicName=prime-showcaseBundle-Version=0.0.0 Created-By = 1.6.0_22 (Apple Inc.) Implementation-Title = prime-showcase Manifest-Version = 1.0 Bnd-LastModified = 1297674544776 Originally-Created-By = Apache Maven Hudson-Version = 1.336 Built-By = tomcat6 Extension-Name = prime-showcase Hudson-Build-Number = 248 Bundle-Name = prime-showcase Bundle-SymbolicName = prime-showcase Bundle-Version = 0.0.0 Bundle-ManifestVersion = 2 Private-Package = . Import-Package = WEB-INF;resolution:=optional, WEB-INF.classes.org.primefaces.examples;resolution:=optional, WEB-INF.classes.org.primefaces.examples.domain;resolution:=optional, WEB-INF.classes.org.primefaces.examples.filter;resolution:=optional, WEB-INF.classes.org.primefaces.examples.service;resolution:=optional, WEB-INF.classes.org.primefaces.examples.touch;resolution:=optional, WEB-INF.classes.org.primefaces.examples.view;resolution:=optional, WEB-INF.lib;resolution:=optional, com.lowagie.text;resolution:=optional, com.sun.syndication.feed.synd;resolution:=optional, com.sun.syndication.io;resolution:=optional, css;resolution:=optional, design;resolution:=optional, facestrace;resolution:=optional, images;resolution:=optional, images.antalya;resolution:=optional, images.barca;resolution:=optional, images.cars;resolution:=optional, images.dock;resolution:=optional, images.folders;resolution:=optional, images.galleria;resolution:=optional, images.godfather;resolution:=optional, images.layout;resolution:=optional, images.macosx;resolution:=optional, images.picklist;resolution:=optional, images.stack;resolution:=optional, images.touch;resolution:=optional, javax.annotation;resolution:=optional, javax.faces.application;resolution:=optional, javax.faces.component;resolution:=optional, javax.faces.context;resolution:=optional, javax.faces.convert;resolution:=optional, javax.faces.event;resolution:=optional, javax.faces.model;resolution:=optional, javax.imageio.stream;resolution:=optional, javax.servlet;resolution:=optional, net.sourceforge.barbecue;resolution:=optional, org.apache.poi.hssf.usermodel;resolution:=optional, org.jfree.chart;resolution:=optional, org.jfree.data.general;resolution:=optional, org.primefaces.comet;resolution:=optional, org.primefaces.component.chart.series;resolution:=optional, org.primefaces.component.menuitem;resolution:=optional, org.primefaces.component.submenu;resolution:=optional, org.primefaces.component.tabview;resolution:=optional, org.primefaces.context;resolution:=optional, org.primefaces.event;resolution:=optional, org.primefaces.event.map;resolution:=optional, org.primefaces.examples.domain;resolution:=optional, org.primefaces.examples.filter;resolution:=optional, org.primefaces.examples.service;resolution:=optional, org.primefaces.examples.touch;resolution:=optional, org.primefaces.examples.view;resolution:=optional, org.primefaces.model;resolution:=optional, org.primefaces.model.chart;resolution:=optional, org.primefaces.model.map;resolution:=optional, syntaxhighlighter.scripts;resolution:=optional, syntaxhighlighter.styles;resolution:=optional, templates;resolution:=optional,
Re: Apache Karaf WAR + JSF
Also, make sure the jsf-api isn't deployed as an OSGi bundle, else that one could be used and it would not be able to find the implementation inside the jar. On Fri, Feb 11, 2011 at 09:22, Charles Moulliard cmoulli...@gmail.com wrote: The WAR contains the spec and the implementation. aristo-1.0.0.jar barbecue-1.5-beta1.jar bcmail-jdk14-1.38.jar bcmail-jdk14-138.jar bcprov-jdk14-1.38.jar bcprov-jdk14-138.jar bctsp-jdk14-1.38.jar black-tie-1.0.0.jar blitzer-1.0.0.jar bluesky-1.0.0.jar casablanca-1.0.0.jar commons-fileupload-1.2.1.jar commons-io-1.4.jar commons-logging-1.1.1.jar cupertino-1.0.0.jar dark-hive-1.0.0.jar dot-luv-1.0.0.jar eggplant-1.0.0.jar excite-bike-1.0.0.jar facestrace-1.1.0.jar flick-1.0.0.jar hot-sneaks-1.0.0.jar humanity-1.0.0.jar itext-2.1.7.jar jcommon-1.0.0.jar jdom-1.0.jar jfreechart-1.0.0.jar -- jsf-api-2.0.4-b09.jar jsf-impl-2.0.4-b09.jar -- jstl-1.2.jar junit-3.8.jar le-frog-1.0.0.jar log4j-1.2.13.jar midnight-1.0.0.jar mint-choc-1.0.0.jar overcast-1.0.0.jar pepper-grinder-1.0.0.jar poi-3.2-FINAL.jar primefaces-3.0-SNAPSHOT.jar redmond-1.0.0.jar rocket-1.0.0.jar rome-1.0.jar smoothness-1.0.0.jar south-street-1.0.0.jar start-1.0.0.jar sunny-1.0.0.jar swanky-purse-1.0.0.jar trontastic-1.0.0.jar ui-darkness-1.0.0.jar ui-lightness-1.0.0.jar vader-1.0.0.jar On Fri, Feb 11, 2011 at 5:06 AM, David Jencks david_jen...@yahoo.com wrote: You need both the api jar and the implementation in your war. Which jsf implementation? You might consider trying myfaces-bundle deployed outside your web app (removing jsf jars from the web app). This works find in geronimo but I'm not sure at the moment if we do extra initialization to get around this problem. thanks david jencks On Feb 10, 2011, at 5:33 AM, Charles Moulliard wrote: Hi, I have deployed a WAR project on Karaf which is JSF technology based but get this issue : 14:05:19,408 | WARN | FelixStartLevel | war | .eclipse.jetty.util.log.Slf4jLog 50 | 1834 - org.eclipse.jetty.util - 7.2.2.v20101205 | unavailable java.lang.IllegalStateException: Application was not properly initialized at startup, could not find Factory: javax.faces.context.FacesContextFactory at javax.faces.FactoryFinder$FactoryManager.getFactory(FactoryFinder.java:804)[1957:file__Users_charlesmoulliard_Apache_karaf_assembly_target_apache-karaf-2.1.99-SNAPSHOT_deploy_prime-showcase-1.0.0-SNAPSHOT.war:0] at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:306)[1957:file__Users_charlesmoulliard_Apache_karaf_assembly_target_apache-karaf-2.1.99-SNAPSHOT_deploy_prime-showcase-1.0.0-SNAPSHOT.war:0] at javax.faces.webapp.FacesServlet.init(FacesServlet.java:166)[1957:file__Users_charlesmoulliard_Apache_karaf_assembly_target_apache-karaf-2.1.99-SNAPSHOT_deploy_prime-showcase-1.0.0-SNAPSHOT.war:0] at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:432)[1842:org.eclipse.jetty.servlet:7.2.2.v20101205] at org.eclipse.jetty.servlet.ServletHolder.doStart(ServletHolder.java:260)[1842:org.eclipse.jetty.servlet:7.2.2.v20101205] at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)[1834:org.eclipse.jetty.util:7.2.2.v20101205] The lib directory of the WAR contains well the jar of jsf api -- jsf-api-2.0.4-b09 Remark : the same WAR deployed on Tomcat works fine Is it something that you already experienced ? Regards, Charles Moulliard Sr. Principal Solution Architect - FuseSource Apache Committer Blog : http://cmoulliard.blogspot.com Twitter : http://twitter.com/cmoulliard Linkedin : http://www.linkedin.com/in/charlesmoulliard Skype: cmoulliard -- Cheers, Guillaume Nodet Blog: http://gnodet.blogspot.com/ Open Source SOA http://fusesource.com
Re: Apache Karaf WAR + JSF
Could you make: la|grep -i jsf to see if JSF api and implementation are not outside your bundle. Else you have to use fragment to gather all in the same classloader. Regards JB On 02/11/2011 09:22 AM, Charles Moulliard wrote: The WAR contains the spec and the implementation. aristo-1.0.0.jar barbecue-1.5-beta1.jar bcmail-jdk14-1.38.jar bcmail-jdk14-138.jar bcprov-jdk14-1.38.jar bcprov-jdk14-138.jar bctsp-jdk14-1.38.jar black-tie-1.0.0.jar blitzer-1.0.0.jar bluesky-1.0.0.jar casablanca-1.0.0.jar commons-fileupload-1.2.1.jar commons-io-1.4.jar commons-logging-1.1.1.jar cupertino-1.0.0.jar dark-hive-1.0.0.jar dot-luv-1.0.0.jar eggplant-1.0.0.jar excite-bike-1.0.0.jar facestrace-1.1.0.jar flick-1.0.0.jar hot-sneaks-1.0.0.jar humanity-1.0.0.jar itext-2.1.7.jar jcommon-1.0.0.jar jdom-1.0.jar jfreechart-1.0.0.jar -- jsf-api-2.0.4-b09.jar jsf-impl-2.0.4-b09.jar -- jstl-1.2.jar junit-3.8.jar le-frog-1.0.0.jar log4j-1.2.13.jar midnight-1.0.0.jar mint-choc-1.0.0.jar overcast-1.0.0.jar pepper-grinder-1.0.0.jar poi-3.2-FINAL.jar primefaces-3.0-SNAPSHOT.jar redmond-1.0.0.jar rocket-1.0.0.jar rome-1.0.jar smoothness-1.0.0.jar south-street-1.0.0.jar start-1.0.0.jar sunny-1.0.0.jar swanky-purse-1.0.0.jar trontastic-1.0.0.jar ui-darkness-1.0.0.jar ui-lightness-1.0.0.jar vader-1.0.0.jar On Fri, Feb 11, 2011 at 5:06 AM, David Jencksdavid_jen...@yahoo.com wrote: You need both the api jar and the implementation in your war. Which jsf implementation? You might consider trying myfaces-bundle deployed outside your web app (removing jsf jars from the web app). This works find in geronimo but I'm not sure at the moment if we do extra initialization to get around this problem. thanks david jencks On Feb 10, 2011, at 5:33 AM, Charles Moulliard wrote: Hi, I have deployed a WAR project on Karaf which is JSF technology based but get this issue : 14:05:19,408 | WARN | FelixStartLevel | war | .eclipse.jetty.util.log.Slf4jLog 50 | 1834 - org.eclipse.jetty.util - 7.2.2.v20101205 | unavailable java.lang.IllegalStateException: Application was not properly initialized at startup, could not find Factory: javax.faces.context.FacesContextFactory at javax.faces.FactoryFinder$FactoryManager.getFactory(FactoryFinder.java:804)[1957:file__Users_charlesmoulliard_Apache_karaf_assembly_target_apache-karaf-2.1.99-SNAPSHOT_deploy_prime-showcase-1.0.0-SNAPSHOT.war:0] at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:306)[1957:file__Users_charlesmoulliard_Apache_karaf_assembly_target_apache-karaf-2.1.99-SNAPSHOT_deploy_prime-showcase-1.0.0-SNAPSHOT.war:0] at javax.faces.webapp.FacesServlet.init(FacesServlet.java:166)[1957:file__Users_charlesmoulliard_Apache_karaf_assembly_target_apache-karaf-2.1.99-SNAPSHOT_deploy_prime-showcase-1.0.0-SNAPSHOT.war:0] at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:432)[1842:org.eclipse.jetty.servlet:7.2.2.v20101205] at org.eclipse.jetty.servlet.ServletHolder.doStart(ServletHolder.java:260)[1842:org.eclipse.jetty.servlet:7.2.2.v20101205] at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)[1834:org.eclipse.jetty.util:7.2.2.v20101205] The lib directory of the WAR contains well the jar of jsf api -- jsf-api-2.0.4-b09 Remark : the same WAR deployed on Tomcat works fine Is it something that you already experienced ? Regards, Charles Moulliard Sr. Principal Solution Architect - FuseSource Apache Committer Blog : http://cmoulliard.blogspot.com Twitter : http://twitter.com/cmoulliard Linkedin : http://www.linkedin.com/in/charlesmoulliard Skype: cmoulliard