Karaf - 生成要素文件并创建自定义分发

时间:2016-07-22 11:15:00

标签: deployment provisioning apache-karaf feature-file

我有一个应用程序,我想在karaf部署。我创建了一个功能文件,我可以使用karaf控制台通过此文件添加功能。我现在想要实现的是通过maven命令创建此功能文件,而不是手动创建它,然后使用此功能文件创建自定义karaf分发。我怎样才能实现它?

到目前为止,我的方法是创建一个maven模块,使用karaf-maven-plugin生成特征文件,然后创建另一个模块来生成karaf自定义分发,这样我们就不需要在生产环境中访问maven了。

这种做法是否正确?我是否真的需要制作两个不同的模块来实现它。如何从第二个模块访问功能文件。

这些是我的poms -

所有家属

<build>
    <finalName>${project.artifactId}-${project.version}</finalName>
    <plugins>
        <plugin>
            <groupId>org.apache.karaf.tooling</groupId>
            <artifactId>karaf-maven-plugin</artifactId>
            <version>4.0.5</version>
            <extensions>true</extensions>
            <executions>
                <execution>
                    <id>generate</id>
                    <phase>generate-resources</phase>
                    <goals>
                        <goal>features-generate-descriptor</goal>
                    </goals>
                    <configuration>
                        <startLevel>80</startLevel>
                        <aggregateFeatures>true</aggregateFeatures>
                        <includeTransitiveDependency>true</includeTransitiveDependency>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

我还没弄清楚第二部分。任何帮助都非常感谢。

1 个答案:

答案 0 :(得分:0)

要生成自定义Karaf,您只需使用karaf-maven-plugin即可。

例如,以下内容将生成一个完全正常的自定义Karaf:

        <plugin>
            <groupId>org.apache.karaf.tooling</groupId>
            <artifactId>karaf-maven-plugin</artifactId>
            <version>4.0.0</version>
            <extensions>true</extensions>
            <configuration>
                <!-- no startupFeatures -->
                <bootFeatures>
                  <feature>minimal</feature>
                </bootFeatures>
                <installedFeatures>
                    <feature>wrapper</feature>
                    <feature>spring/4.0.7.RELEASE_1</feature>
                </installedFeatures>
            </configuration>
        </plugin>

这将根据创建最小发行版所需的最少功能集生成自定义karaf。如果您想依赖标准发行版,只需与标准交换即可。 顺便说一句。所有这些也记录在Karaf documentation