我对OSGi和Karaf非常陌生,但我仍然对概念和体系结构有所了解。
我的问题与使用karaf-maven-plugin创建的.kar文件有关。
.kar文件是否只打算将功能安装到Karaf运行时中?如果我们创建一个包并将其重命名为.kar而不是.jar怎么办。这是.kar文件的有效用例吗?
谢谢
答案 0 :(得分:0)
否,kar
文件远不止于此,它是一种不仅提供features.xml
而且还提供任何相关OSGi捆绑软件,配置文件aso的机制。在单个工件中。
这也是为什么它包含一个强制性repository/
目录(基本上包含Maven存储库样式结构中features.xml
描述的任何功能所必需的所有OSGi软件包)和一个可选{{3 }}目录(包含功能引用的所有其他资源)。
有关完整的示例,您可以查看Apache Karaf框架归档文件:
其中包含构成自定义Karaf安装基础并提供一组基本功能的所有基本资源:
META-INF/
...
META-INF/MANIFEST.MF
...
repository/
... OSGi bundles referenced by the features and the features.xml itself ...
resources/
resources/bin/
... scripts ...
resources/data/
...
resources/deploy/
...
resources/etc/
... configuration files ...
resources/lib/
... (non-OSGi) libraries needed (e.g. endorsed, extension, boot classpath) ...
resources/system/
... OSGi framework implementation(s) and related libraries ...