我怎么知道我不应该在 Karaf 功能文件中包含哪些包?
How can I know what bundles I should not include in a Karaf features file?
在 Karaf 功能文件中,如果我包含某些包,那么 Karaf 将停止正常工作。
我怎么知道哪些包不应该包含在功能文件中?例如,如果我在 Windows 上将这些包添加到 Karaf 的功能文件中,Karaf 会不高兴并且表现得很奇怪。我认为是因为 Karaf 已经为这些包提供了 Java 接口。
<bundle>mvn:org.osgi/org.osgi.core/4.3.1</bundle>
<bundle>mvn:org.osgi/org.osgi.compendium/5.0.0</bundle>
是否还有程序化方法可以确定这一点?
是否有我不应包含的捆绑包列表?
我知道 Karaf 使用 pax-logging 而不是那些 slf4j。
更详细地说,我的 SBT 项目为我的包编译了一个依赖包列表,在我从我的代码返回的列表中,我得到了 org.osgi.core 和 org.osgi.compendium。它们是我的主要项目 osgi 包的依赖项。现在,问题是,我怎么知道 Karaf 不希望将此安装为我的功能的一部分?
您不得安装框架以外的其他框架包;)
这是绝对的 NOGO!
因为 Karaf 已经提供了您需要的一切,在这种情况下是框架。
所以甚至不要考虑添加 std。框架包到你的 OSGi 环境,它们已经在那里了。
如果你想拥有某些纲要包。
确保安装实施包,正如您已经指出的那样,pax-logging 包已经提供了 osgi 日志记录纲要服务所需的一切。
Pax-Web 和 OSGi HttpService 包也是如此。
你会发现很多已经 pre-registered OSGi 纲要服务与 Karaf,
如果您需要更多,请安装实现,而不是规范包。
编辑
nop programmatic 或 Karaf 内部方式可以告诉您不包含那些包。这只是众所周知的事情。
实施包总是也会为您带来所需的 osgi 包。
在 Karaf 功能文件中,如果我包含某些包,那么 Karaf 将停止正常工作。
我怎么知道哪些包不应该包含在功能文件中?例如,如果我在 Windows 上将这些包添加到 Karaf 的功能文件中,Karaf 会不高兴并且表现得很奇怪。我认为是因为 Karaf 已经为这些包提供了 Java 接口。
<bundle>mvn:org.osgi/org.osgi.core/4.3.1</bundle>
<bundle>mvn:org.osgi/org.osgi.compendium/5.0.0</bundle>
是否还有程序化方法可以确定这一点?
是否有我不应包含的捆绑包列表?
我知道 Karaf 使用 pax-logging 而不是那些 slf4j。
更详细地说,我的 SBT 项目为我的包编译了一个依赖包列表,在我从我的代码返回的列表中,我得到了 org.osgi.core 和 org.osgi.compendium。它们是我的主要项目 osgi 包的依赖项。现在,问题是,我怎么知道 Karaf 不希望将此安装为我的功能的一部分?
您不得安装框架以外的其他框架包;) 这是绝对的 NOGO!
因为 Karaf 已经提供了您需要的一切,在这种情况下是框架。 所以甚至不要考虑添加 std。框架包到你的 OSGi 环境,它们已经在那里了。
如果你想拥有某些纲要包。 确保安装实施包,正如您已经指出的那样,pax-logging 包已经提供了 osgi 日志记录纲要服务所需的一切。
Pax-Web 和 OSGi HttpService 包也是如此。 你会发现很多已经 pre-registered OSGi 纲要服务与 Karaf, 如果您需要更多,请安装实现,而不是规范包。
编辑
nop programmatic 或 Karaf 内部方式可以告诉您不包含那些包。这只是众所周知的事情。 实施包总是也会为您带来所需的 osgi 包。