B.3. 自定义的 Karaf 装
创建 Karaf 服务器 assembly 的建议方法是使用 karaf:assembly
目标,由 karaf-maven-plugin
提供。这会从项目的 pom.xml
文件中的 Maven 依赖项组装服务器。karaf-maven-plugin
配置中指定的捆绑包(或功能)以及 pom.xml
中的 < ;dependencies
> 部分指定的依赖关系都可以进入自定义 karaf assembly。
对于 kar
带有
kar
type 的依赖项将作为启动(scope=compile), boot(scope=runtime)or installed(scope=provided)kars in karaf-maven-plugin 中。kars 被解压缩为工作目录(target/assembly)和功能 XML 将被搜索,用作额外功能存储库(与给定 kar 阶段相等的 stage)。对于 features.xml
带有
功能
分类器的依赖项将用作启动(scope=compile)、boot(scope=runtime)或安装(scope=provided)repositories in karaf-maven-plugin。不需要显式添加在 kar 中找到的功能存储库。对于 jar 和 bundle
bundle
或jar
type 的依赖项将用作启动(scope=compile)、boot(scope=runtime)or installed(scope=provided)bundle in karaf-maven-plugin。
B.3.1. Karaf: assembly 目标 复制链接链接已复制到粘贴板!
您可以使用 karaf-maven-plugin
所提供的 karaf:assembly
目标创建 Karaf 服务器。此目标是从项目 POM 中的 Maven 依赖项装配微服务风格的服务器。在 OpenShift 项目的 Fuse 中,建议您将 karaf:assembly
目标绑定到 Maven 安装阶段。该项目使用捆绑打包,项目本身通过在 bootBundles
元素内列出它,从而将其安装到 Karaf 容器中。
仅在启动阶段包括 karaf 框架功能等必要元素,因为它将进入 etc/startup.properties
,在此阶段 karaf 功能服务没有完全启动。将其他元素延迟到引导阶段。
示例
以下示例在 Quickstart 中显示了典型的 Maven 配置: