【发布时间】:2012-04-23 18:09:49
【问题描述】:
当我尝试在 Karaf 集成测试中使用 reference:file:/path/to.jar 作为捆绑 URL 时,出现“未知协议:引用”错误。 Karaf 邮件列表中提到了reference: URL,但我不清楚:
它们应该默认工作吗?
如果没有,我该如何启用它们?大概我需要一个合适的包来提供 URLHandlerService,但是哪一个呢?
【问题讨论】:
标签: osgi apache-karaf
当我尝试在 Karaf 集成测试中使用 reference:file:/path/to.jar 作为捆绑 URL 时,出现“未知协议:引用”错误。 Karaf 邮件列表中提到了reference: URL,但我不清楚:
它们应该默认工作吗?
如果没有,我该如何启用它们?大概我需要一个合适的包来提供 URLHandlerService,但是哪一个呢?
【问题讨论】:
标签: osgi apache-karaf
Karaf 中的 URL 处理程序由 Pax-Url project 提供,我认为默认情况下不提供参考(主要用于测试支持)。
你可以通过maven找到pax-url-reference here
【讨论】:
mavenBundle("org.ops4j.pax.url", "pax-url-reference", "1.6.0") 添加到我的容器配置中,然后还添加了pax-url-commons 1.6.0 和pax-url-commons 1.6.0 以解决缺少的要求,但仍然收到错误java.net.MalformedURLException: Unknown protocol: reference:。有什么提示吗?我正在参加 Pax Exam 3.2 和 Karaf 2.3.2 btw。
mavenBundle("org.ops4j.pax.url", "pax-url-reference", "1.6.0").startLevel(1); bundle("reference:...").startLevel(2);
useDeployFolder(false),因此可能与测试被部署为一项功能有关吗? (将其变为 true 有它自己的一系列问题)。因为从错误信息来看,Karaf 不会安装完整的考试功能:org.apache.karaf.features.core - 2.3.2 | Error when installing feature exam: java.net.MalformedURLException: Unknown protocol: reference。