[ https://issues.apache.org/jira/browse/GERONIMO-6560?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15725834#comment-15725834 ]
Romain Manni-Bucau commented on GERONIMO-6560: ---------------------------------------------- [~rombert]: do you want to provide a patch? > JSON spec jar is not able to load provider in an OSGi environment > ----------------------------------------------------------------- > > Key: GERONIMO-6560 > URL: https://issues.apache.org/jira/browse/GERONIMO-6560 > Project: Geronimo > Issue Type: Bug > Security Level: public(Regular issues) > Reporter: Robert Munteanu > > I am trying to use > org.apache.geronimo.specs:geronimo-json_1.0_spec:1.0-alpha-1 together with > Apache Johnzon in a minimal OSGi environment ( see > https://lists.apache.org/thread.html/52ecda6f7b859fa9cdd4d9fb64d6f7a3b54f29f971e5536e844d9150@%3Cdev.johnzon.apache.org%3E > for more details ). > Looking at the manifest of the JSON spec I can see it has no way of loading > classes from another jar, and it fails at runtime: > {noformat}javax.json.JsonException: org.apache.johnzon.core.JsonProviderImpl > not > found > at > javax.json.spi.JsonProvider.doLoadProvider(JsonProvider.java:132) > at javax.json.spi.JsonProvider.provider(JsonProvider.java:64) > at javax.json.Json.createGenerator(Json.java:48) > at > ro.lmn.routeradmin.web.impl.AdminServlet.doGet(AdminServlet.java:33) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:618) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:725) > at > org.apache.felix.http.base.internal.handler.ServletHandler.handle(Servl > etHandler.java:85) > at > org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(I > nvocationChain.java:79) > at > org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispat > cher.java:124) > at > org.apache.felix.http.base.internal.DispatcherServlet.service(Dispatche > rServlet.java:61) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:725) > at > org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:845) > at > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:5 > 83) > at > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler > .java:224) > at > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler > .java:1174) > at > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:51 > 1) > at > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler. > java:185) > at > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler. > java:1106) > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.jav > a:141) > at > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(Contex > tHandlerCollection.java:213) > at > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.j > ava:134) > at org.eclipse.jetty.server.Server.handle(Server.java:524) > at > org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:319) > at > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java: > 253) > at > org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abstract > Connection.java:273) > at > org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95) > at > org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint. > java:93) > at > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executePro > duceConsume(ExecuteProduceConsume.java:303) > at > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceCon > sume(ExecuteProduceConsume.java:148) > at > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Execut > eProduceConsume.java:136) > at > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool. > java:671) > at > org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.j > ava:589) > at java.lang.Thread.run(Thread.java:745) > Caused by: java.lang.ClassNotFoundException: > org.apache.johnzon.core.JsonProviderImpl > at java.net.URLClassLoader.findClass(URLClassLoader.java:381) > at java.lang.ClassLoader.loadClass(ClassLoader.java:424) > at > sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) > at java.lang.ClassLoader.loadClass(ClassLoader.java:357) > at > javax.json.spi.JsonProvider.doLoadProvider(JsonProvider.java:129) > ... 32 more{noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)