Never mind, I found part of the answer inside ~/.m2/repository and realize that the BND instructions are placed as file names somehow, and not into a bnd file, so line breaks doesn't work.
Making it into a single line, the exception changes to Caused by: java.net.MalformedURLException: Invalid syntax for instruction [Require-Capability: osgi.extender;filter:="(osgi.extender=osgi.serviceloader.processor)",osgi.serviceloader;filter:="(osgi.serviceloader=javax.json.spi.JsonProvider)";cardinality:=multiple] even though I have copied that verbatim from https://blog.osgi.org/2013/02/javautilserviceloader-in-osgi.html Any thoughts? On Thu, Aug 15, 2019 at 10:56 AM Niclas Hedhman <[email protected]> wrote: > > Gang, > I got the exception below, when using wrappedBundle() to add handling for > Javax JSON API service loader, without rewriting the original bundle > manifest. > > Does anyone understand what is happening and what can be done about it? > > Code is > > wrappedBundle( mavenBundle( "javax.json", "javax.json-api", "1.1" ).getURL() ) > .overwriteManifest( WrappedUrlProvisionOption.OverwriteMode.MERGE ) > .instructions( "Require-Capability: osgi.extender;\\\n" > + " > filter:=\"(osgi.extender=osgi.serviceloader.processor)\",\\\n" > + " osgi.serviceloader;\\\n" > + " > filter:=\"(osgi.serviceloader=javax.json.spi.JsonProvider)\";\\\n" > + " cardinality:=multiple" ), > mavenBundle( "org.apache.johnzon", "johnzon-core", "1.1.1" ), > > > > Exception in thread "main" org.ops4j.pax.exam.TestContainerException: > Problem starting test container. > at > org.ops4j.pax.exam.nat.internal.NativeTestContainer.start(NativeTestContainer.java:212) > at > com.spicter.niclas1.test.integration.PaxExamStarter.main(PaxExamStarter.java:26) > Caused by: org.osgi.framework.BundleException: Unable to cache bundle: > wrap:mvn:javax.json/javax.json-api/1.1$overwrite=MERGE&Require-Capability: > osgi.extender;\ > filter:="(osgi.extender=osgi.serviceloader.processor)",\ > osgi.serviceloader;\ > filter:="(osgi.serviceloader=javax.json.spi.JsonProvider)";\ > cardinality:=multiple > at org.apache.felix.framework.Felix.installBundle(Felix.java:3013) > at > org.apache.felix.framework.BundleContextImpl.installBundle(BundleContextImpl.java:167) > at > org.apache.felix.framework.BundleContextImpl.installBundle(BundleContextImpl.java:140) > at > org.ops4j.pax.exam.nat.internal.NativeTestContainer.installAndStartBundles(NativeTestContainer.java:340) > at > org.ops4j.pax.exam.nat.internal.NativeTestContainer.start(NativeTestContainer.java:209) > ... 1 more > Caused by: java.io.IOException: Error resolving artifact > javax.json:javax.json-api:jar:1.1$overwrite=MERGE&Require-Capability: > osgi.extender;\ > filter:="(osgi.extender=osgi.serviceloader.processor)",\ > osgi.serviceloader;\ > filter:="(osgi.serviceloader=javax.json.spi.JsonProvider)";\ > cardinality:=multiple: Could not transfer artifact > javax.json:javax.json-api:jar:1.1$overwrite=MERGE&Require-Capability: > osgi.extender;\ > filter:="(osgi.extender=osgi.serviceloader.processor)",\ > osgi.serviceloader;\ > filter:="(osgi.serviceloader=javax.json.spi.JsonProvider)";\ > cardinality:=multiple from/to central (http://repo1.maven.org/maven2/): > /home/niclas/.m2/repository/javax/json/javax.json-api/1.1$overwrite=MERGE&Require-Capability: > osgi.extender;\ > filter:="(osgi.extender=osgi.serviceloader.processor)",\ > osgi.serviceloader;\ > filter:="(osgi.serviceloader=javax.json.spi.JsonProvider)";\ > > cardinality:=multiple/javax.json-api-1.1$overwrite=MERGE&Require-Capability: > osgi.extender;\ > filter:="(osgi.extender=osgi.serviceloader.processor)",\ > osgi.serviceloader;\ > filter:="(osgi.serviceloader=javax.json.spi.JsonProvider)";\ > cardinality:=multiple.jar.part.lock (File name too long) > at > org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:626) > at > org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:570) > at > org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:548) > at > org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:523) > at > org.ops4j.pax.url.mvn.internal.Connection.getInputStream(Connection.java:123) > at org.ops4j.net.URLUtils.prepareInputStream(URLUtils.java:180) > at > org.ops4j.pax.url.wrap.internal.Connection.getInputStream(Connection.java:83) > at > org.apache.felix.framework.util.SecureAction.getURLConnectionInputStream(SecureAction.java:525) > at > org.apache.felix.framework.cache.JarRevision.initialize(JarRevision.java:166) > > -- > Niclas Hedhman, Software Developer > http://polygene.apache.org - New Energy for Java > -- Niclas Hedhman, Software Developer http://polygene.apache.org - New Energy for Java -- -- ------------------ OPS4J - http://www.ops4j.org - [email protected] --- You received this message because you are subscribed to the Google Groups "OPS4J" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/ops4j/CADmm%2BKekF925UtMYXQw%3D7LvPYgy2N6F7vQUmBROMq8LakZw2wQ%40mail.gmail.com.
