Some bundles are missing if referencing a KieModule from SY project on Karaf. To reproduce use the rules-interview-container quickstart and the attached project:
-
cd rules-interview-container
-
sed -i 's/rules:container b/rules:container releaseId="org.switchyard.kie:project:0.0.1-SNAPSHOT" b/' src/main/resources/META-INF/switchyard.xml
-
cd project
-
mvn clean install
-
bin/karaf
-
features:addurl mvn:org.switchyard.karaf/switchyard/2.0.0-SNAPSHOT/xml/features ; features:install switchyard-quickstart-rules-interview-container
-
ld
You will get:
Could not start bundle mvn:org.switchyard.components/switchyard-component-common-knowledge/2.0.0-SNAPSHOT in feature(s) switchyard-common-knowledge-2.0.0-SNAPSHOT: Unresolved constraint in bundle org.switchyard.components.switchyard-component-common-knowledge [263]: Unable to resolve 263.0: missing requirement [263.0] osgi.wiring.package; (osgi.wiring.package=org.apache.maven.settings.building)
|
I've updated features.xml with required bundles. Not sure about the versions used, but at least no unresolved constraint bundle nor NoClassDefFoundError appears. Apply the attached patch and try to install the quickstart again:
-
cd release/karaf/features
-
git apply features.patch
-
mvn clean install
-
rm data/ -rf ; bin/karaf
-
features:addurl mvn:org.switchyard.karaf/switchyard/2.0.0-SNAPSHOT/xml/features ; features:install switchyard-quickstart-rules-interview-container
-
ld
I've stucked with the following NPE:
2014-12-11 10:48:42,175 | ERROR | yard Extender: 1 | SwitchYardExtender | ? ? | 154 - org.switchyard.karaf.switchyard-karaf-deploy - 2.0.0.SNAPSHOT | Unable to start switchyard for bundle org.switchyard.quickstarts.switchyard.rules.interview.container
|
java.lang.NullPointerException
|
at org.kie.scanner.Aether.newRepositorySystemSession(Aether.java:100)[259:wrap_mvn_org.kie_kie-ci_6.2.0.Beta3:0]
|
at org.kie.scanner.Aether.<init>(Aether.java:66)[259:wrap_mvn_org.kie_kie-ci_6.2.0.Beta3:0]
|
at org.kie.scanner.Aether.<init>(Aether.java:47)[259:wrap_mvn_org.kie_kie-ci_6.2.0.Beta3:0]
|
at org.kie.scanner.Aether.getAether(Aether.java:57)[259:wrap_mvn_org.kie_kie-ci_6.2.0.Beta3:0]
|
at org.kie.scanner.MavenRepository.getMavenRepository(MavenRepository.java:73)[259:wrap_mvn_org.kie_kie-ci_6.2.0.Beta3:0]
|
at org.switchyard.component.common.knowledge.config.builder.patch.PatchedRuntimeEnvironmentBuilder.getDefault(PatchedRuntimeEnvironmentBuilder.java:233)[278:org.switchyard.components.switchyard-component-common-knowledge:2.0.0.SNAPSHOT]
|
Btw: Finding of all the required dependencies for features.xml was very unpleasant. Does anybody know how to do it more automatically than repeating these steps: install the quickstart, find what maven project contains the missing class/package, add it to features.xml/install to karaf, install the quickstart again?
|