How to generate a Karaf features descriptor

2019-09-17 07:50发布

问题:

I am trying to automatically generate Apache Karaf's (2.3.0) feature desscriptor file (features.xml).

From Karaf's doc I have learned that I can use the "features" packaging.

my pom.xml

<project>
...
    <packaging>feature</packaging>


    <dependencies>      
        <dependency>
            <groupId>org.apache.jclouds</groupId>
            <artifactId>jclouds-core</artifactId>
            <scope>provided</scope>
            <version>${jclouds.version}</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.karaf.tooling</groupId>
                <artifactId>karaf-maven-plugin</artifactId>
                <version>${karaf.version}</version>
                <extensions>true</extensions>
                <configuration>
                    <startLevel>80</startLevel>
                    <aggregateFeatures>true</aggregateFeatures>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>

But mvn clean install complains:

Unknown packaging: feature

I have also tried to use the features-maven-plugin, but I get the same result.

回答1:

I noticed that the org.apache.karaf.tooling:karaf-maven-plugin:jar:2.3.0 does not exist in the maven repo.

I changed it to 3.0.0.RC1, and now it works well. This solution is OK for Karaf 3.x.

For Karaf 2.x, the problem was really with the packaging. pom is fine with http://karaf.apache.org/manual/latest-2.x/developers-guide/features-maven-plugin-generate.html.

BUT: the features-maven-plugin's generate-features-xml does not work at this time, the produced features file is "empty". See the related issue.