【发布时间】:2017-03-24 19:24:14
【问题描述】:
我正在尝试使用 Maven(和 NetBeans)创建一个 Karaf 程序集。我使用声明性服务创建捆绑包,但在创建功能文件时遇到问题。我的部分问题是 OSGi 生成的错误消息。但我有一个更笼统的问题。
我发现我可以在创建我的捆绑包的项目中调用karaf-maven-plugin,它会根据捆绑包的依赖关系生成看似全面填充的功能文件。 (方法一)
但是,我在某处读到使用karaf-maven-plugin 创建功能文件通常只能在使用feature 打包的项目中完成。如果我这样做,在我看来我必须手动创建特征文件,这不是很有趣。 (方法二)
无论我使用哪种方法,我都无法成功生成一个 Karaf 程序集,该程序集包含除了简单包之外没有任何依赖关系的任何内容。我目前正试图安装一个需要包装一些非 OSGi 依赖项的单个包。上面的方法 1 生成 wrap 东西(<feature> 和 wrap: 协议)。我得到的只是以下错误:
Failed to execute goal org.apache.karaf.tooling:karaf-maven-plugin:4.1.0:assembly (default-assembly) on project EnoceanBridgeAdmin: Unable to build assembly: [wrap/0.0.0]
EnoceanBridgeAdmin 是我正在尝试构建的karaf-assembly 包装。它依赖于包含生成的功能文件的包(其中引用了wrap):
<dependency>
<groupId>net.winnall.enocean.service.impl</groupId>
<artifactId>EnoceanBridgeSASS.Impl</artifactId>
<version>0.99.99</version>
<type>xml</type>
<classifier>features</classifier>
</dependency>
所以我的问题:
- 上述方法 1 的用法正确吗?
- 能否自动生成特征文件以使用方法 2?
- 方法 1 或 2 排序后错误信息会消失吗?
史蒂夫
【问题讨论】:
标签: maven apache-karaf karaf