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-

Reply via email to