Hi Charles, basically I just used the example from https://issues.apache.org/jira/browse/MYFACES-2290 as starting point. I didn't pay attention on the manifest header while testing. I was glad I had a "running" test to verify the jsf feature. It was probably needed because of some classloader issues that where still open with a previous version of myfaces.
But you are right I probably should have paid more attention to it and it would be better to use import-package. Regards, Achim 2011/2/14 Charles Moulliard <[email protected]>: > 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-showcase&Bundle-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, > touch;resolution:=optional, > ui;resolution:=optional, > ui.sopranos;resolution:=optional > Export-Package = > WEB-INF, > WEB-INF.classes.org.primefaces.examples, > > WEB-INF.classes.org.primefaces.examples.domain;uses:=org.primefaces.examples.domain, > > WEB-INF.classes.org.primefaces.examples.filter;uses:="javax.servlet,org.primefaces.examples.filter", > > WEB-INF.classes.org.primefaces.examples.service;uses:="org.primefaces.examples.service,org.primefaces.examples.domain,com.sun.syndication.feed.synd,com.sun.syndication.io", > > WEB-INF.classes.org.primefaces.examples.touch;uses:="org.primefaces.examples.service,org.primefaces.examples.domain,javax.faces.context,org.primefaces.examples.touch,javax.faces.event", > WEB-INF.classes.org.primefaces.examples.view; > uses:="org.primefaces.examples.domain, > javax.faces.application, > javax.faces.context, > org.primefaces.event, > org.primefaces.examples.view, > javax.faces.event, > org.primefaces.component.chart.series, > org.primefaces.model.chart, > org.primefaces.comet, > javax.faces.component, > javax.faces.convert, > org.primefaces.examples.service, > org.primefaces.model, > org.jfree.data.general, > org.jfree.chart, > net.sourceforge.barbecue, > org.primefaces.context, > javax.annotation, > javax.servlet, > javax.imageio.stream, > org.primefaces.event.map, > org.primefaces.model.map, > org.primefaces.component.menuitem, > org.primefaces.component.submenu, > org.primefaces.component.tabview, > javax.faces.model, > org.apache.poi.hssf.usermodel, > com.lowagie.text", > WEB-INF.lib, > css, > design, > facestrace, > images, > images.antalya, > images.barca, > images.cars, > images.dock, > images.folders, > images.galleria, > images.godfather, > images.layout, > images.macosx, > images.picklist, > images.stack, > images.touch, > org.primefaces.examples.domain, > org.primefaces.examples.filter, > org.primefaces.examples.service, > org.primefaces.examples.touch, > org.primefaces.examples.view, > syntaxhighlighter.scripts, > syntaxhighlighter.styles, > templates, > touch, > ui, > ui.sopranos > > Where faces classes are loaded in the lib folder. I think that the > issue is there dues to classloading issue .... > > 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 > > > > On Sat, Feb 12, 2011 at 9:21 PM, Achim Nierbeck <[email protected]> > wrote: >> I attached myfaces-test-helloworld-osgi-pax-web.war >> >> that did work for me and I tested the jsf functionalities with it. >> >> The following steps were also needed in karaf shell (just verified once >> more with Karaf-2.99.99-SNAPSHOT): >> >> install mvn:org.apache.myfaces.core/myfaces-api/1.2.9 >> install mvn:org.apache.myfaces.core/myfaces-impl/1.2.9 >> install mvn:commons-beanutils/commons-beanutils/1.8.3 >> install mvn:commons-collections/commons-collections/3.2.1 >> install mvn:commons-codec/commons-codec/1.4 >> install >> mvn:org.apache.commons/com.springsource.org.apache.commons.digester/1.8.0 >> install >> mvn:org.apache.commons/com.springsource.org.apache.commons.discovery/0.4.0 >> >> Now the attached myfaces-test-helloworld-osgi.war is started and deployed >> And running, there is some sort of variable replacement issue with this test >> but in principle I think it is working :) >> >> Regards, Achim >> >> >>> I have removed everything and still get the same error from the war >>> containing all the jars file. >>> >>> karaf@root> packages:exports | grep javax.faces >>> karaf@root> packages:exports | grep jsf >>> 1929 org.springframework.web.jsf >>> 1929 org.springframework.web.jsf.el >>> >>> 10:42:36,444 | WARN | FelixStartLevel | /prime-showcase-1 >>> | .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)[1958:prime-showcase-1:0] >>> at >>> javax.faces.FactoryFinder.getFactory(FactoryFinder.java:306)[1958:prime-showcase-1:0] >>> at >>> javax.faces.webapp.FacesServlet.init(FacesServlet.java:166)[1958:prime-showcase-1:0] >>> at >>> org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:432)[1842:org.eclipse.jetty.servlet:7.2.2.v20101205] >>> >>> >>> On Fri, Feb 11, 2011 at 9:26 AM, Jean-Baptiste Onofré <[email protected]> >>> wrote: >>>> 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 Jencks<[email protected]> >>>>> 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 >>>>>> >> >> >
