Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
-
Security Level: public (Regular issues)
-
None
Description
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:
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
Attachments
Issue Links
- is related to
-
JOHNZON-107 Add 'SPI-Provider' bundle header to johnzon-core
- Resolved
-
JOHNZON-108 Add dynamic ServiceLoader support for OSGi environments
- Resolved
- links to