Description
If I start Karaf with two KARs, A and B, in its deploy directory, where A contains a feature which depends on B, I'll get an error:
org.apache.karaf.kar.internal.KarServiceImpl: Unable to install Kar feature A/1.0 java.lang.Exception: No feature named 'B' with version '2.0-SNAPSHOT' available at org.apache.karaf.features.internal.FeaturesServiceImpl.installFeatureDependency(FeaturesServiceImpl.java:581)[18:org.apache.karaf.features.core:3.0.2] at org.apache.karaf.features.internal.FeaturesServiceImpl.doInstallFeature(FeaturesServiceImpl.java:522)[18:org.apache.karaf.features.core:3.0.2] at org.apache.karaf.features.internal.FeaturesServiceImpl.installFeatures(FeaturesServiceImpl.java:395)[18:org.apache.karaf.features.core:3.0.2] at org.apache.karaf.features.internal.FeaturesServiceImpl.installFeature(FeaturesServiceImpl.java:375)[18:org.apache.karaf.features.core:3.0.2] at Proxy1dbf3e21_9a2a_46b9_bf75_2dde3f9950ab.installFeature(Unknown Source)[:] at Proxy9d8165a0_ff45_4050_90ed_ce57d2e8e46e.installFeature(Unknown Source)[:] at org.apache.karaf.kar.internal.KarServiceImpl.installFeatures(KarServiceImpl.java:215)[31:org.apache.karaf.kar.core:3.0.2] at org.apache.karaf.kar.internal.KarServiceImpl.install(KarServiceImpl.java:96)[31:org.apache.karaf.kar.core:3.0.2] at org.apache.karaf.kar.internal.KarServiceImpl.install(KarServiceImpl.java:84)[31:org.apache.karaf.kar.core:3.0.2] at Proxyb6c18187_064e_4455_af37_f30109bbe7bb.install(Unknown Source)[:] at Proxybccf42a3_1ef6_4c2a_94f7_8e5308be37f0.install(Unknown Source)[:] at org.apache.karaf.deployer.kar.KarArtifactInstaller.install(KarArtifactInstaller.java:50)[33:org.apache.karaf.deployer.kar:3.0.2] at Proxy01c35796_2258_42cb_8801_281d65d5c3bf.install(Unknown Source)[:] at org.apache.felix.fileinstall.internal.DirectoryWatcher.install(DirectoryWatcher.java:931)[41:org.apache.felix.fileinstall:3.4.2] at org.apache.felix.fileinstall.internal.DirectoryWatcher.install(DirectoryWatcher.java:865)[41:org.apache.felix.fileinstall:3.4.2] at org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:482)[41:org.apache.felix.fileinstall:3.4.2] at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:358)[41:org.apache.felix.fileinstall:3.4.2] at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:310)[41:org.apache.felix.fileinstall:3.4.2]
It works to install both KARs in another order.
It would be great if a KAR is installed if all dependencies are met, only.