Hi, Side note first: Equinox 3.17 is OSGi R8, Karaf 4.3.x is OSGi R7, so I don't recommend using this Equinox version with Karaf 4.3.x.
In the upcoming Karaf 4.4.0 release, you will have Equinox 3.17.200 out of the box as Karaf 4.4.0 is R8. I hope you also populate equinox artifacts in the system folder yourself: as the framework is started before pax-url, it doesn't actually use pax-url to download artifacts, so you have to populate artifacts in system folder for the framework (and all bundles defined in etc/startup.properties). Now, about your issue, I think it's not related to the Equinox version, but probably to the maven-bundle-plugin version you are using to build your bundles. You can disable the requirement in the bundle to avoid such issue. Regards JB On Wed, Apr 13, 2022 at 5:17 PM Chen, Zhendong <[email protected]> wrote: > > Hi JB, > > > > in Karaf 4.3.6 the default equinox Version of Karaf is 3.16.300. > > But we need new version of equinox 3.17.200 because a dependency for new > eclipse bundles. > > So we deployed new version of equinox 3.17.200 by ourself and adjusted the > config.properties to > > karaf.framework.equinox=mvn\:org.eclipse.platform/org.eclipse.osgi/3.17.200 > > Karaf started fine, until we are trying to activate additional bundle. > > > > After we did that, we got this exception: > > 2022-04-11T12:06:21,954 | WARN | RequestProcessor-20 | > org.apache.karaf.kar.internal.KarServiceImpl | Unable to > install Kar feature edm-connector/1.6.0.-SNAPSHOT > > org.apache.felix.resolver.reason.ReasonException: Unable to resolve root: > missing requirement [root] osgi.identity; osgi.identity=server-base; > type=karaf.feature; version="[7.0.0.SNAPSHOT,7.0.0.SNAPSHOT]"; > filter:="(&(osgi.identity=server-base)(type=karaf.feature)(version>=7.0.0.SNAPSHOT)(version<=7.0.0.SNAPSHOT))" > [caused by: Unable to resolve server-base/7.0.0.SNAPSHOT: missing > requirement [server-base/7.0.0.SNAPSHOT] osgi.identity; > osgi.identity=xx.xxxx.common.navigation.api; type=osgi.bundle; > version="[1.10.0.-SNAPSHOT,1.10.0.-SNAPSHOT]"; resolution:=mandatory [caused > by: Unable to resolve xx.xxxx.common.navigation.api/1.10.0.-SNAPSHOT: missing > requirement [xx.xxxx.common.navigation.api/1.10.0.-SNAPSHOT] osgi.ee; > filter:="(&(osgi.ee=JavaSE)(version=11))"]] > > at > org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341) > ~[?:?] > > at > org.apache.felix.resolver.ResolverImpl.doResolve(ResolverImpl.java:433) ~[?:?] > > at > org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:420) ~[?:?] > > at > org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:374) ~[?:?] > > at > org.apache.karaf.features.internal.region.SubsystemResolver.resolve(SubsystemResolver.java:257) > ~[?:?] > > at > org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:399) > ~[?:?] > > at > org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1069) > ~[?:?] > > at > org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:1004) > ~[?:?] > > at java.util.concurrent.FutureTask.run(FutureTask.java:264) > ~[?:?] > > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) > ~[?:?] > > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) > ~[?:?] > > at java.lang.Thread.run(Thread.java:829) ~[?:?] > > Caused by: org.apache.felix.resolver.reason.ReasonException: Unable to > resolve server-base/7.0.0.SNAPSHOT: missing requirement > [server-base/7.0.0.SNAPSHOT] osgi.identity; > osgi.identity=xx.xxxx.common.navigation.api; type=osgi.bundle; > version="[1.10.0.-SNAPSHOT,1.10.0.-SNAPSHOT]"; resolution:=mandatory [caused > by: Unable to resolve xx.xxxx.common.navigation.api/1.10.0.-SNAPSHOT: missing > requirement [xx.xxxx.common.navigation.api/1.10.0.-SNAPSHOT] osgi.ee; > filter:="(&(osgi.ee=JavaSE)(version=11))"] > > at > org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341) > ~[?:?] > > ... 12 more > > Caused by: org.apache.felix.resolver.reason.ReasonException: Unable to > resolve xx.xxxx.common.navigation.api/1.10.0.-SNAPSHOT: missing requirement > [xx.xxxx.common.navigation.api/1.10.0.-SNAPSHOT] osgi.ee; > filter:="(&(osgi.ee=JavaSE)(version=11))" > > at > org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341) > ~[?:?] > > at > org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341) > ~[?:?] > > ... 12 more > > > > I tried this: > > karaf@root()> capabilities 0 | grep osgi.ee > > osgi.ee; OSGi/Minimum [1.0.0, 1.1.0, 1.2.0] [UNUSED] > > osgi.ee; JavaSE [1.0.0, 1.1.0, 1.2.0, 1.3.0, 1.4.0, 1.5.0, 1.6.0, 1.7.0, > 1.8.0, 9.0.0, 10.0.0, 11.0.0] required by: > > osgi.ee; JRE [1.0.0, 1.1.0] [UNUSED] > > osgi.ee; JavaSE/compact1 [1.8.0, 9.0.0, 10.0.0, 11.0.0] required by: > > osgi.ee; JavaSE/compact2 [1.8.0, 9.0.0, 10.0.0, 11.0.0] [UNUSED] > > osgi.ee; JavaSE/compact3 [1.8.0, 9.0.0, 10.0.0, 11.0.0] [UNUSED] > > > > Our JDK is 11. Do you have any idea, what are we missing? > > > > Best, > > Zhendong > > > -Bruker Confidential-
