Hi,
I am having a problem getting the chapter 10 recipe 4 example from the Apache
Karaf Cookbook to build with J8 (Mac). It works fine with J7. See below.
What version of pax-exam should I use? The book sample uses 3.4.0 but I see
various newer versions in Maven Central but I can’t find one that seems to work.
I also updated to the latest version of jacoco, but that doesn’t make a
difference either.
Is this a known issue? Am I missing something? I checked both the cookbook site
and the jacoco site but didn’t see anything obvious.
Regards,
Erwin
Running com.packt.TestOsgiServices
21:23:56.291 [main] INFO o.o.pax.exam.spi.DefaultExamSystem - Pax Exam System
(Version: 3.4.0) created.
21:23:56.320 [main] INFO o.o.pax.exam.junit.impl.ProbeRunner - creating
PaxExam runner for class com.packt.TestOsgiServices
21:23:56.347 [main] INFO o.o.pax.exam.junit.impl.ProbeRunner - running test
class com.packt.TestOsgiServices
ERROR: Bundle org.ops4j.pax.exam [1] Error starting
link:classpath:META-INF/links/org.ops4j.pax.exam.link
(org.osgi.framework.BundleException: Unresolved constraint in bundle
org.ops4j.pax.exam [1]: Unable to resolve 1.0: missing requirement [1.0]
osgi.wiring.package;
(&(osgi.wiring.package=org.ops4j.io)(version>=1.4.0)(!(version>=2.0.0)))
[caused by: Unable to resolve 6.0: missing requirement [6.0]
osgi.wiring.package; (osgi.wiring.package=javax.net.ssl)])
org.osgi.framework.BundleException: Unresolved constraint in bundle
org.ops4j.pax.exam [1]: Unable to resolve 1.0: missing requirement [1.0]
osgi.wiring.package;
(&(osgi.wiring.package=org.ops4j.io)(version>=1.4.0)(!(version>=2.0.0)))
[caused by: Unable to resolve 6.0: missing requirement [6.0]
osgi.wiring.package; (osgi.wiring.package=javax.net.ssl)]
at
org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:3826)
at org.apache.felix.framework.Felix.startBundle(Felix.java:1868)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1191)
at
org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:295)
at java.lang.Thread.run(Thread.java:745)
ERROR: Bundle org.ops4j.pax.exam.inject [2] Error starting
link:classpath:META-INF/links/org.ops4j.pax.exam.inject.link
(org.osgi.framework.BundleException: Unresolved constraint in bundle
org.ops4j.pax.exam.inject [2]: Unable to resolve 2.0: missing requirement [2.0]
osgi.wiring.package;
(&(osgi.wiring.package=org.ops4j.pax.swissbox.tracker)(version>=1.7.0)(!(version>=2.0.0)))
[caused by: Unable to resolve 11.0: missing requirement [11.0]
osgi.wiring.package;
(&(osgi.wiring.package=org.ops4j.lang)(version>=1.4.0)(!(version>=2.0.0)))
[caused by: Unable to resolve 6.0: missing requirement [6.0]
osgi.wiring.package; (osgi.wiring.package=javax.net.ssl)]])
org.osgi.framework.BundleException: Unresolved constraint in bundle
org.ops4j.pax.exam.inject [2]: Unable to resolve 2.0: missing requirement [2.0]
osgi.wiring.package;
(&(osgi.wiring.package=org.ops4j.pax.swissbox.tracker)(version>=1.7.0)(!(version>=2.0.0)))
[caused by: Unable to resolve 11.0: missing requirement [11.0]
osgi.wiring.package;
(&(osgi.wiring.package=org.ops4j.lang)(version>=1.4.0)(!(version>=2.0.0)))
[caused by: Unable to resolve 6.0: missing requirement [6.0]
osgi.wiring.package; (osgi.wiring.package=javax.net.ssl)]]
at
org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:3826)
at org.apache.felix.framework.Felix.startBundle(Felix.java:1868)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1191)
at
org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:295)
at java.lang.Thread.run(Thread.java:745)
ERROR: Bundle org.ops4j.pax.exam.extender.service [3] Error starting
link:classpath:META-INF/links/org.ops4j.pax.extender.service.link
(org.osgi.framework.BundleException: Unresolved constraint in bundle
org.ops4j.pax.exam.extender.service [3]: Unable to resolve 3.0: missing
requirement [3.0] osgi.wiring.package;
(&(osgi.wiring.package=org.ops4j.pax.swissbox.core)(version>=1.7.0)(!(version>=2.0.0)))
[caused by: Unable to resolve 7.0: missing requirement [7.0]
osgi.wiring.package;
(&(osgi.wiring.package=org.ops4j.lang)(version>=1.4.0)(!(version>=2.0.0)))
[caused by: Unable to resolve 6.0: missing requirement [6.0]
osgi.wiring.package; (osgi.wiring.package=javax.net.ssl)]])
org.osgi.framework.BundleException: Unresolved constraint in bundle
org.ops4j.pax.exam.extender.service [3]: Unable to resolve 3.0: missing
requirement [3.0] osgi.wiring.package;
(&(osgi.wiring.package=org.ops4j.pax.swissbox.core)(version>=1.7.0)(!(version>=2.0.0)))
[caused by: Unable to resolve 7.0: missing requirement [7.0]
osgi.wiring.package;
(&(osgi.wiring.package=org.ops4j.lang)(version>=1.4.0)(!(version>=2.0.0)))
[caused by: Unable to resolve 6.0: missing requirement [6.0]
osgi.wiring.package; (osgi.wiring.package=javax.net.ssl)]]
at
org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:3826)
at org.apache.felix.framework.Felix.startBundle(Felix.java:1868)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1191)
at
org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:295)
at java.lang.Thread.run(Thread.java:745)
ERROR: Bundle org.ops4j.pax.logging.pax-logging-api [5] Error starting
link:classpath:META-INF/links/org.ops4j.pax.logging.api.link
(org.osgi.framework.BundleException: Unresolved constraint in bundle
org.ops4j.pax.logging.pax-logging-api [5]: Unable to resolve 5.0: missing
requirement [5.0] osgi.wiring.package; (osgi.wiring.package=javax.xml.parsers))
org.osgi.framework.BundleException: Unresolved constraint in bundle
org.ops4j.pax.logging.pax-logging-api [5]: Unable to resolve 5.0: missing
requirement [5.0] osgi.wiring.package; (osgi.wiring.package=javax.xml.parsers)
at
org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:3826)
at org.apache.felix.framework.Felix.startBundle(Felix.java:1868)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1191)
at
org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:295)
at java.lang.Thread.run(Thread.java:745)
ERROR: Bundle org.ops4j.base [6] Error starting
link:classpath:META-INF/links/org.ops4j.base.link
(org.osgi.framework.BundleException: Unresolved constraint in bundle
org.ops4j.base [6]: Unable to resolve 6.0: missing requirement [6.0]
osgi.wiring.package; (osgi.wiring.package=javax.net.ssl))
org.osgi.framework.BundleException: Unresolved constraint in bundle
org.ops4j.base [6]: Unable to resolve 6.0: missing requirement [6.0]
osgi.wiring.package; (osgi.wiring.package=javax.net.ssl)
at
org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:3826)
at org.apache.felix.framework.Felix.startBundle(Felix.java:1868)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1191)
at
org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:295)
at java.lang.Thread.run(Thread.java:745)
ERROR: Bundle org.ops4j.pax.swissbox.core [7] Error starting
link:classpath:META-INF/links/org.ops4j.pax.swissbox.core.link
(org.osgi.framework.BundleException: Unresolved constraint in bundle
org.ops4j.pax.swissbox.core [7]: Unable to resolve 7.0: missing requirement
[7.0] osgi.wiring.package;
(&(osgi.wiring.package=org.ops4j.lang)(version>=1.4.0)(!(version>=2.0.0)))
[caused by: Unable to resolve 6.0: missing requirement [6.0]
osgi.wiring.package; (osgi.wiring.package=javax.net.ssl)])
org.osgi.framework.BundleException: Unresolved constraint in bundle
org.ops4j.pax.swissbox.core [7]: Unable to resolve 7.0: missing requirement
[7.0] osgi.wiring.package;
(&(osgi.wiring.package=org.ops4j.lang)(version>=1.4.0)(!(version>=2.0.0)))
[caused by: Unable to resolve 6.0: missing requirement [6.0]
osgi.wiring.package; (osgi.wiring.package=javax.net.ssl)]
at
org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:3826)
at org.apache.felix.framework.Felix.startBundle(Felix.java:1868)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1191)
at
org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:295)
at java.lang.Thread.run(Thread.java:745)
ERROR: Bundle org.ops4j.pax.swissbox.extender [8] Error starting
link:classpath:META-INF/links/org.ops4j.pax.swissbox.extender.link
(org.osgi.framework.BundleException: Unresolved constraint in bundle
org.ops4j.pax.swissbox.extender [8]: Unable to resolve 8.0: missing requirement
[8.0] osgi.wiring.package;
(&(osgi.wiring.package=org.ops4j.lang)(version>=1.4.0)(!(version>=2.0.0)))
[caused by: Unable to resolve 6.0: missing requirement [6.0]
osgi.wiring.package; (osgi.wiring.package=javax.net.ssl)])
org.osgi.framework.BundleException: Unresolved constraint in bundle
org.ops4j.pax.swissbox.extender [8]: Unable to resolve 8.0: missing requirement
[8.0] osgi.wiring.package;
(&(osgi.wiring.package=org.ops4j.lang)(version>=1.4.0)(!(version>=2.0.0)))
[caused by: Unable to resolve 6.0: missing requirement [6.0]
osgi.wiring.package; (osgi.wiring.package=javax.net.ssl)]
at
org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:3826)
at org.apache.felix.framework.Felix.startBundle(Felix.java:1868)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1191)
at
org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:295)
at java.lang.Thread.run(Thread.java:745)
ERROR: Bundle org.ops4j.pax.swissbox.framework [9] Error starting
link:classpath:META-INF/links/org.ops4j.pax.swissbox.framework.link
(org.osgi.framework.BundleException: Unresolved constraint in bundle
org.ops4j.pax.swissbox.framework [9]: Unable to resolve 9.0: missing
requirement [9.0] osgi.wiring.package;
(&(osgi.wiring.package=org.ops4j.pax.swissbox.tracker)(version>=1.7.0)(!(version>=2.0.0)))
[caused by: Unable to resolve 11.0: missing requirement [11.0]
osgi.wiring.package;
(&(osgi.wiring.package=org.ops4j.lang)(version>=1.4.0)(!(version>=2.0.0)))
[caused by: Unable to resolve 6.0: missing requirement [6.0]
osgi.wiring.package; (osgi.wiring.package=javax.net.ssl)]])
org.osgi.framework.BundleException: Unresolved constraint in bundle
org.ops4j.pax.swissbox.framework [9]: Unable to resolve 9.0: missing
requirement [9.0] osgi.wiring.package;
(&(osgi.wiring.package=org.ops4j.pax.swissbox.tracker)(version>=1.7.0)(!(version>=2.0.0)))
[caused by: Unable to resolve 11.0: missing requirement [11.0]
osgi.wiring.package;
(&(osgi.wiring.package=org.ops4j.lang)(version>=1.4.0)(!(version>=2.0.0)))
[caused by: Unable to resolve 6.0: missing requirement [6.0]
osgi.wiring.package; (osgi.wiring.package=javax.net.ssl)]]
at
org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:3826)
at org.apache.felix.framework.Felix.startBundle(Felix.java:1868)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1191)
at
org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:295)
at java.lang.Thread.run(Thread.java:745)
ERROR: Bundle org.ops4j.pax.swissbox.tracker [11] Error starting
link:classpath:META-INF/links/org.ops4j.pax.swissbox.tracker.link
(org.osgi.framework.BundleException: Unresolved constraint in bundle
org.ops4j.pax.swissbox.tracker [11]: Unable to resolve 11.0: missing
requirement [11.0] osgi.wiring.package;
(&(osgi.wiring.package=org.ops4j.lang)(version>=1.4.0)(!(version>=2.0.0)))
[caused by: Unable to resolve 6.0: missing requirement [6.0]
osgi.wiring.package; (osgi.wiring.package=javax.net.ssl)])
org.osgi.framework.BundleException: Unresolved constraint in bundle
org.ops4j.pax.swissbox.tracker [11]: Unable to resolve 11.0: missing
requirement [11.0] osgi.wiring.package;
(&(osgi.wiring.package=org.ops4j.lang)(version>=1.4.0)(!(version>=2.0.0)))
[caused by: Unable to resolve 6.0: missing requirement [6.0]
osgi.wiring.package; (osgi.wiring.package=javax.net.ssl)]
at
org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:3826)
at org.apache.felix.framework.Felix.startBundle(Felix.java:1868)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1191)
at
org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:295)
at java.lang.Thread.run(Thread.java:745)
ERROR: Bundle org.ops4j.pax.exam.invoker.junit [15] Error starting
link:classpath:META-INF/links/org.ops4j.pax.exam.invoker.junit.link
(org.osgi.framework.BundleException: Unresolved constraint in bundle
org.ops4j.pax.exam.invoker.junit [15]: Unable to resolve 15.0: missing
requirement [15.0] osgi.wiring.package;
(&(osgi.wiring.package=org.ops4j.pax.swissbox.tracker)(version>=1.7.0)(!(version>=2.0.0)))
[caused by: Unable to resolve 11.0: missing requirement [11.0]
osgi.wiring.package;
(&(osgi.wiring.package=org.ops4j.lang)(version>=1.4.0)(!(version>=2.0.0)))
[caused by: Unable to resolve 6.0: missing requirement [6.0]
osgi.wiring.package; (osgi.wiring.package=javax.net.ssl)]])
org.osgi.framework.BundleException: Unresolved constraint in bundle
org.ops4j.pax.exam.invoker.junit [15]: Unable to resolve 15.0: missing
requirement [15.0] osgi.wiring.package;
(&(osgi.wiring.package=org.ops4j.pax.swissbox.tracker)(version>=1.7.0)(!(version>=2.0.0)))
[caused by: Unable to resolve 11.0: missing requirement [11.0]
osgi.wiring.package;
(&(osgi.wiring.package=org.ops4j.lang)(version>=1.4.0)(!(version>=2.0.0)))
[caused by: Unable to resolve 6.0: missing requirement [6.0]
osgi.wiring.package; (osgi.wiring.package=javax.net.ssl)]]
at
org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:3826)
at org.apache.felix.framework.Felix.startBundle(Felix.java:1868)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1191)
at
org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:295)
at java.lang.Thread.run(Thread.java:745)
21:23:56.716 [main] ERROR o.o.p.e.n.i.NativeTestContainer - Bundle
[org.ops4j.pax.exam [1]] is not resolved
21:23:56.717 [main] ERROR o.o.p.e.n.i.NativeTestContainer - Bundle
[org.ops4j.pax.exam.inject [2]] is not resolved
21:23:56.717 [main] ERROR o.o.p.e.n.i.NativeTestContainer - Bundle
[org.ops4j.pax.exam.extender.service [3]] is not resolved
21:23:56.717 [main] ERROR o.o.p.e.n.i.NativeTestContainer - Bundle
[org.ops4j.pax.logging.pax-logging-api [5]] is not resolved
21:23:56.717 [main] ERROR o.o.p.e.n.i.NativeTestContainer - Bundle
[org.ops4j.base [6]] is not resolved
21:23:56.717 [main] ERROR o.o.p.e.n.i.NativeTestContainer - Bundle
[org.ops4j.pax.swissbox.core [7]] is not resolved
21:23:56.717 [main] ERROR o.o.p.e.n.i.NativeTestContainer - Bundle
[org.ops4j.pax.swissbox.extender [8]] is not resolved
21:23:56.717 [main] ERROR o.o.p.e.n.i.NativeTestContainer - Bundle
[org.ops4j.pax.swissbox.framework [9]] is not resolved
21:23:56.718 [main] ERROR o.o.p.e.n.i.NativeTestContainer - Bundle
[org.ops4j.pax.swissbox.tracker [11]] is not resolved
21:23:56.718 [main] ERROR o.o.p.e.n.i.NativeTestContainer - Bundle
[org.ops4j.pax.exam.invoker.junit [15]] is not resolved
21:24:06.759 [main] INFO o.o.p.e.spi.reactors.ReactorManager - suite finished
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 10.698 sec <<<
FAILURE!
test(com.packt.TestOsgiServices) Time elapsed: 10.01 sec <<< ERROR!
org.ops4j.pax.swissbox.tracker.ServiceLookupException: gave up waiting for
service org.ops4j.pax.exam.ProbeInvoker
at
org.ops4j.pax.swissbox.tracker.ServiceLookup.getService(ServiceLookup.java:161)
at
org.ops4j.pax.swissbox.tracker.ServiceLookup.getService(ServiceLookup.java:104)
at
org.ops4j.pax.swissbox.tracker.ServiceLookup.getService(ServiceLookup.java:87)
at
org.ops4j.pax.exam.nat.internal.NativeTestContainer.call(NativeTestContainer.java:106)
at
org.ops4j.pax.exam.spi.reactors.EagerSingleStagedReactor.invoke(EagerSingleStagedReactor.java:109)
at
org.ops4j.pax.exam.junit.impl.ProbeRunner$2.evaluate(ProbeRunner.java:278)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.ops4j.pax.exam.junit.impl.ProbeRunner.run(ProbeRunner.java:112)
at org.ops4j.pax.exam.junit.PaxExam.run(PaxExam.java:93)
at
org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
at
org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
at
org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
at
org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
at
org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
at
org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
at
org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)