[ 
http://issues.ops4j.org/browse/PAXWEB-181?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13040#action_13040
 ] 

Niclas Hedhman commented on PAXWEB-181:
---------------------------------------

Without knowing the details of Jersey nor JSR-311, I see that Pax Web manages 
to get hold of the class to instantiate, which during creation encounters the 
unknown class j.w.r.c.Application in Felix's Module loader.

My guess is that j.w.r.c.Application contains references to classes that has 
not been imported into the JSR-311 bundle, perhaps org.w3c or similar packages.

> Class loading issue with Pax web
> --------------------------------
>
>                 Key: PAXWEB-181
>                 URL: http://issues.ops4j.org/browse/PAXWEB-181
>             Project: Pax Web
>          Issue Type: Bug
>    Affects Versions: 0.7.1
>            Reporter: Charles Moulliard
>            Assignee: Alin Dreghiciu
>             Fix For: 0.8.0
>
>
> I have a strange issue with classloading when I use PAX Web.
> The following class is not loaded even if it is exported / imported
> respectively by the bundles :
> {code}
> ka...@root> osgi:headers 134
> jsr311-api (134)
> ----------------
> Archiver-Version = Plexus Archiver
> Bnd-LastModified = 1251384223006
> Build-Id = 08/27/2009 04:43 PM
> Build-Jdk = 1.5.0_19
> Built-By = japod
> Bundle-DocURL = http://www.sun.com/
> Bundle-License = http://www.opensource.org/licenses/cddl1.php
> Bundle-ManifestVersion = 2
> Bundle-Name = jsr311-api
> Bundle-SymbolicName = javax.ws.rs.jsr311-api
> Bundle-Vendor = Sun Microsystems, Inc
> Bundle-Version = 1.1
> Created-By = 1.5.0_19 (Sun Microsystems Inc.)
> Export-Package =
> javax.ws.rs;uses:="javax.ws.rs.core";version="1.1",javax.ws.rs.ext;uses:="javax.ws.rs.core,javax.ws.rs";version="1.1",javax.ws.rs.cor
> e;uses:="javax.ws.rs.ext,javax.ws.rs";version="1.1"
> Extension-Name = javax.ws.rs
> Import-Package =
> javax.ws.rs;version="1.1",javax.ws.rs.core;version="1.1",javax.ws.rs.ext;version="1.1"
> Manifest-Version = 1.0
> Specification-Title = JAX-RS: Java API for RESTful Web Services
> Specification-Vendor = Sun Microsystems, Inc.
> Specification-Version = 1.1-ea
> Tool = Bnd-0.0.311
> ka...@root> packages:exports 134
> jsr311-api (134): javax.ws.rs; version=1.1.0
> jsr311-api (134): javax.ws.rs.ext; version=1.1.0
> jsr311-api (134): javax.ws.rs.core; version=1.1.0
> ka...@root> osgi:headers 135
> jerseyWeb Jersey Webapp (135)
> -----------------------------
> Archiver-Version = Plexus Archiver
> Bnd-LastModified = 1255092632758
> Build-Jdk = 1.6.0_16
> Built-By = Charlesm
> Bundle-ClassPath = .,WEB-INF/classes
> Bundle-ManifestVersion = 2
> Bundle-Name = jerseyWeb Jersey Webapp
> Bundle-SymbolicName = jerseyWeb
> Bundle-Version = 1.0.0.SNAPSHOT
> Created-By = 1.6.0_16 (Sun Microsystems Inc.)
> DynamicImport-Package = *
> Import-Package =
> com.sun.jersey.api.representation;resolution:=optional,com.sun.jersey.api.uri;resolution:=optional,com.sun.jersey.core.header;resolut
> ion:=optional,com.sun.jersey.core.header.reader;resolution:=optional,com.sun.jersey.core.impl.provider.entity;resolution:=optional,com.sun.jersey.core
> .impl.provider.header;resolution:=optional,com.sun.jersey.core.impl.provider.xml;resolution:=optional,com.sun.jersey.core.provider;resolution:=optiona
> l,com.sun.jersey.core.provider.jaxb;resolution:=optional,com.sun.jersey.core.reflection;resolution:=optional,com.sun.jersey.core.spi.component;resolut
> ion:=optional,com.sun.jersey.core.spi.component.ioc;resolution:=optional,com.sun.jersey.core.spi.factory;resolution:=optional,com.sun.jersey.core.util
> ;resolution:=optional,com.sun.jersey.impl;resolution:=optional,com.sun.jersey.localization;resolution:=optional,com.sun.jersey.spi;resolution:=optiona
> l,com.sun.jersey.spi.container;resolution:=optional,com.sun.jersey.spi.container.servlet;resolution:=optional,com.sun.jersey.spi.inject;resolution:=op
> tional,com.sun.jersey.spi.service;resolution:=optional,javax.activation;resolution:=optional,javax.imageio;resolution:=optional,javax.imageio.spi;reso
> lution:=optional,javax.imageio.stream;resolution:=optional,javax.mail;resolution:=optional,javax.mail.internet;resolution:=optional,javax.mail.util;re
> solution:=optional,javax.servlet;version="[2.5.0,3.0.0)",javax.servlet.http;version="[2.5.0,3.0.0)",javax.servlet.resources;version="[2.5.0,3.0.0)",ja
> vax.ws.rs;resolution:=optional;version="1.1",javax.ws.rs.core;resolution:=optional;version="1.1",javax.ws.rs.ext;resolution:=optional;version="1.1",ja
> vax.xml.bind;resolution:=optional,javax.xml.bind.annotation;resolution:=optional,javax.xml.parsers;resolution:=optional,javax.xml.stream;resolution:=o
> ptional,javax.xml.transform;resolution:=optional,javax.xml.transform.dom;resolution:=optional,javax.xml.transform.sax;resolution:=optional,javax.xml.t
> ransform.stream;resolution:=optional,org.w3c.dom;resolution:=optional,org.xml.sax;resolution:=optional
> Manifest-Version = 1.0
> Private-Package = com.xpectis.x3s;version="1.0-SNAPSHOT"
> Tool = Bnd-0.0.311
> Webapp-Context = jerseyWeb
> ka...@root> packages:imports 135
> jsr311-api (134): javax.ws.rs; version=1.1.0
> jsr311-api (134): javax.ws.rs.ext; version=1.1.0
> jsr311-api (134): javax.ws.rs.core; version=1.1.0
> {code}
> {code}
> 16:24:17,930 | ERROR | l Console Thread | RegisterWebAppVisitorWC
>    | internal.RegisterWebAppVisitorWC  201 | Registration exception.
> Skipping.
> java.lang.NoClassDefFoundError: javax/ws/rs/core/Application
>        at java.lang.Class.getDeclaredConstructors0(Native Method)
>        at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
>        at java.lang.Class.getConstructor0(Class.java:2699)
>        at java.lang.Class.newInstance0(Class.java:326)
>        at java.lang.Class.newInstance(Class.java:308)
>        at 
> org.ops4j.pax.web.extender.war.internal.RegisterWebAppVisitorHS.newInstance(RegisterWebAppVisitorHS.java:202)
>        at 
> org.ops4j.pax.web.extender.war.internal.RegisterWebAppVisitorWC.visit(RegisterWebAppVisitorWC.java:186)
>        at 
> org.ops4j.pax.web.extender.war.internal.model.WebApp.accept(WebApp.java:517)
>        at 
> org.ops4j.pax.web.extender.war.internal.WebAppPublisher$HttpServiceListener.register(WebAppPublisher.java:170)
>        at 
> org.ops4j.pax.web.extender.war.internal.WebAppPublisher$HttpServiceListener.serviceChanged(WebAppPublisher.java:155)
>        at 
> org.ops4j.pax.web.extender.war.internal.WebAppPublisher$HttpServiceListener.serviceChanged(WebAppPublisher.java:119)
>        at 
> org.ops4j.pax.swissbox.tracker.ReplaceableService.setService(ReplaceableService.java:114)
>        at 
> org.ops4j.pax.swissbox.tracker.ReplaceableService.access$100(ReplaceableService.java:28)
>        at 
> org.ops4j.pax.swissbox.tracker.ReplaceableService$CollectionListener.serviceAdded(ReplaceableService.java:183)
>        at 
> org.ops4j.pax.swissbox.tracker.ServiceCollection$Tracker.addingService(ServiceCollection.java:181)
>        at 
> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:896)
>        at 
> org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:261)
>        at 
> org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:184)
>        at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:339)
>        at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:273)
>        at 
> org.ops4j.pax.swissbox.tracker.ServiceCollection.onStart(ServiceCollection.java:139)
>        at 
> org.ops4j.pax.swissbox.lifecycle.AbstractLifecycle$Stopped.start(AbstractLifecycle.java:121)
>        at 
> org.ops4j.pax.swissbox.lifecycle.AbstractLifecycle.start(AbstractLifecycle.java:49)
>        at 
> org.ops4j.pax.swissbox.tracker.ReplaceableService.onStart(ReplaceableService.java:146)
>        at 
> org.ops4j.pax.swissbox.lifecycle.AbstractLifecycle$Stopped.start(AbstractLifecycle.java:121)
>        at 
> org.ops4j.pax.swissbox.lifecycle.AbstractLifecycle.start(AbstractLifecycle.java:49)
>        at 
> org.ops4j.pax.web.extender.war.internal.WebAppPublisher.publish(WebAppPublisher.java:81)
>        at 
> org.ops4j.pax.web.extender.war.internal.WebXmlObserver.addingEntries(WebXmlObserver.java:112)
>        at 
> org.ops4j.pax.swissbox.extender.BundleWatcher.register(BundleWatcher.java:186)
>        at 
> org.ops4j.pax.swissbox.extender.BundleWatcher.access$000(BundleWatcher.java:45)
>        at 
> org.ops4j.pax.swissbox.extender.BundleWatcher$1.bundleChanged(BundleWatcher.java:127)
>        at 
> org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:800)
>        at 
> org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:728)
>        at 
> org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:610)
>        at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:3592)
>        at org.apache.felix.framework.Felix.startBundle(Felix.java:1649)
>        at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:890)
>        at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:877)
>        at 
> org.apache.felix.karaf.shell.osgi.StartBundle.doExecute(StartBundle.java:29)
>        at 
> org.apache.felix.karaf.shell.osgi.BundlesCommand.doExecute(BundlesCommand.java:49)
>        at 
> org.apache.felix.karaf.shell.console.OsgiCommandSupport.execute(OsgiCommandSupport.java:41)
>        at 
> org.apache.felix.gogo.commands.basic.AbstractCommand.execute(AbstractCommand.java:34)
>        at 
> org.apache.felix.gogo.runtime.shell.CommandProxy.execute(CommandProxy.java:45)
>        at 
> org.apache.felix.gogo.runtime.shell.Closure.execute(Closure.java:211)
>        at 
> org.apache.felix.gogo.runtime.shell.Closure.executeStatement(Closure.java:146)
>        at org.apache.felix.gogo.runtime.shell.Pipe.run(Pipe.java:91)
>        at org.apache.felix.gogo.runtime.shell.Closure.execute(Closure.java:75)
>        at 
> org.apache.felix.gogo.runtime.shell.CommandSessionImpl.execute(CommandSessionImpl.java:71)
>        at 
> org.apache.felix.karaf.shell.console.jline.Console.run(Console.java:115)
>        at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.ClassNotFoundException: javax.ws.rs.core.Application
>        at 
> org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:726)
>        at org.apache.felix.framework.ModuleImpl.access$100(ModuleImpl.java:60)
>        at 
> org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1631)
>        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
>        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
>        ... 50 more
> {code}

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.ops4j.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

_______________________________________________
general mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/general

Reply via email to