我有一个应用程序,我想部署在卡拉夫。我已经创建了一个特征文件,并且我能够使用karaf控制台通过这个文件添加特征。我现在想要实现的是通过maven命令创建这个功能文件,而不是手动创建它,然后使用这个功能文件创建一个自定义的karaf发行版。我怎样才能做到这一点?
到目前为止,我的方法是创建一个maven模块来使用karaf maven -plugin生成功能文件,然后创建另一个模块来生成karaf自定义分发,这样我们就不需要在生产环境中访问maven了。
这种方法正确吗?我真的需要创建两个不同的模块来实现它吗?如何从第二个模块访问功能文件?
这些是我的彩蛋-
所有依赖项
<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>我还不能弄明白第二部分。任何对此的帮助都是非常感谢的。
发布于 2016-07-23 04:37:39
要生成自定义的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中。
https://stackoverflow.com/questions/38525066
复制相似问题