我有一个应用程序,我想在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>
我还没弄清楚第二部分。任何帮助都非常感谢。
答案 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
中