Pom of the project uses as dependency drools-core, kie-spring, kie-camel
but as you can see drools-module is an umbrella to retrieve many more
features defined under "drools-common"
<feature name="drools-common" version="${drools.version}"
description="Drools Commons">
<feature version="[2.6,3.0)">cxf-specs</feature>
<bundle>mvn:com.google.protobuf/protobuf-java/${karaf.version.com.google.protobuf}</bundle>
<bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.antlr/${karaf.servicemix.version.org.antlr}</bundle>
<bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xstream/${karaf.servicemix.version.com.thoughtworks.xstream}</bundle>
<bundle
start-level='10'>mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxb-api-2.2/${karaf.servicemix.version.javax.xml.bind.jaxb}</bundle>
<bundle
start-level='10'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jaxb-xjc/${karaf.servicemix.version.com.sun.xml.bind.jaxb}</bundle>
<bundle
start-level='10'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jaxb-impl/${karaf.servicemix.version.com.sun.xml.bind.jaxb}</bundle>
<bundle>mvn:org.mvel/mvel2/${karaf.version.org.mvel}</bundle>
<bundle>wrap:mvn:org.eclipse.jdt.core.compiler/ecj/${karaf.version.org.eclipse.jdt.core.compiler}$Bundle-SymbolicName=Eclipse-JDT-Compiler&Bundle-Version=${karaf.version.org.eclipse.jdt.core.compiler}</bundle>
<bundle>wrap:mvn:org.codehaus.janino/janino/${karaf.version.org.codehaus.janino}$Bundle-SymbolicName=Codehaus-Janino&Bundle-Version=${karaf.version.org.codehaus.janino}</bundle>
<bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.quartz/${karaf.servicemix.version.org.quartz-scheduler}</bundle>
<bundle>mvn:org.apache.geronimo.specs/geronimo-atinject_1.0_spec/${karaf.version.javax.inject}</bundle>
<bundle>wrap:mvn:javax.enterprise/cdi-api/${karaf.version.javax.enterprise.cdi}</bundle>
</feature>
Version of the project is defined as property
- Code used to create the features file URL
public static MavenArtifactProvisionOption getFeaturesUrl(String
groupId, String artifactId, String version) {
MavenArtifactProvisionOption mapo =
mavenBundle().groupId(groupId).artifactId(artifactId);
mapo.type("xml/features");
if (version == null) {
mapo.versionAsInProject();
} else {
mapo.version(version);
}
LOG.info("Features URL : " + mapo.getURL());
return mapo;
}
>> Features URL :
mvn:org.drools/drools-karaf-features/6.1.0-SNAPSHOT/xml/features
- Called like that to retrieve the features
public static Option loadDroolsKieFeatures(String... features) {
List<String> result = new ArrayList<String>();
result.add("drools-module");
for (String feature : features) {
result.add(feature);
}
return
scanFeatures(getFeaturesUrl("org.drools","drools-karaf-features",DroolsVersion),
result.toArray(new String[4 + features.length]));
}
On Fri, Jan 17, 2014 at 9:40 AM, Achim Nierbeck <[email protected]>wrote:
> Hi Charles,
>
> are you using this dependency in your maven pom file.
> For me it usually works best if all dependencies are first resolved
> through maven.
> If done so the versionAsInProject can also be used.
>
> regards, Achim
>
>
> 2014/1/17 Charles Moulliard <[email protected]>
>
>> Hi,
>>
>> I experience a strange issue using pax-exam with Karaf 2.3.x
>>
>> The following features file is available in my local maven repo
>>
>> mvn:org.drools/drools-karaf-features/6.1.0-SNAPSHOT/xml/features
>>
>> -rw-r--r-- 1 chmoulli 1881291218 10473 Jan 17 08:45
>> /Users/chmoulli/.m2/repository/org/drools/drools-karaf-features/6.1.0-SNAPSHOT/drools-karaf-features-6.1.0-SNAPSHOT-features.xml
>>
>> but when pax-exam tries to find the features, I get ERRORS (feature null
>> not found, feature drools-module not found, ...) from FeaturesServiceImpl
>> even if the features are well present in features file
>>
>> example
>>
>> <feature name="drools-module" version="6.1.0-SNAPSHOT"
>> description="Drools core">
>> <feature version="6.1.0-SNAPSHOT">drools-common</feature>
>> <feature version="6.1.0-SNAPSHOT">kie</feature>
>> <bundle>mvn:org.drools/drools-core/6.1.0-SNAPSHOT</bundle>
>> <bundle>mvn:org.drools/drools-compiler/6.1.0-SNAPSHOT</bundle>
>>
>> <bundle>mvn:org.drools/drools-osgi-integration/6.1.0-SNAPSHOT</bundle>
>> </feature>
>>
>> https://gist.github.com/8470059
>>
>> Line 1133 -->
>> http://grepcode.com/file/repo1.maven.org/maven2/org.apache.karaf.features/org.apache.karaf.features.core/2.3.0/org/apache/karaf/features/internal/FeaturesServiceImpl.java
>>
>> As this is really hard to debug Pax-Exam + Karaf, does anybody has an
>> idea bout the issue ? Could it be possible that pax-exam does not look
>> into my local repo ? Can I tell / force pax-exam to look into my local repo
>> ?
>>
>> Regards,
>>
>> --
>> Charles Moulliard
>> Apache Committer / Architect @RedHat
>> Twitter : @cmoulliard | Blog : http://cmoulliard.github.io
>>
>>
>
>
> --
>
> Apache Karaf <http://karaf.apache.org/> Committer & PMC
> OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer &
> Project Lead
> OPS4J Pax for Vaadin <http://team.ops4j.org/wiki/display/PAXVAADIN/Home>
> Commiter & Project Lead
> blog <http://notizblog.nierbeck.de/>
>
--
Charles Moulliard
Apache Committer / Architect @RedHat
Twitter : @cmoulliard | Blog : http://cmoulliard.github.io