【发布时间】:2014-12-24 18:55:38
【问题描述】:
我正在尝试将充气城堡作为服务提供商添加到我在 apache karaf 上运行的 java 产品中。 当我尝试启动导入充气城堡的捆绑包时,我收到一条错误消息
java.lang.Exception:无法在功能服务器-docs-1.0.0-SNAPSHOT 中启动捆绑 mvn:com.xxx.yyy.zzz/docsservice/1.0.0-SNAPSHOT/war:未解决的约束捆绑文档 [245]:无法解析 245.0:缺少要求 [245.0] osgi.wiring.package; (&(osgi.wiring.package=org.bouncycastle.jce.provider)(版本>=1.51.0)) 在 org.apache.karaf.features.internal.FeaturesServiceImpl.startBundle(FeaturesServiceImpl.java:472)
在 pom 文件中,我导入了包 org.bouncycastle.jce.provider 并添加了 bouncycastle 作为依赖项。 此外,我进行了此页面上描述的所有更改, http://karaf.apache.org/manual/latest/users-guide/security.html,见下文
- 我将提供程序 jar 放在 lib/ext 中
- 我修改了 etc/config.properties 配置文件,添加了以下属性 org.apache.karaf.security.providers = xxx,yyy
org.apache.karaf.security.providers = org.bouncycastle.jce.provider.BouncyCastleProvider
- 我从系统捆绑包中提供了对这些提供程序的类的访问权限,以便所有捆绑包都可以访问这些。我通过修改同一配置文件中的 org.osgi.framework.bootdelegation 属性来做到这一点:
org.osgi.framework.bootdelegation = ...,org.bouncycastle*
- 在某个论坛上我发现了另一个建议,所以我修改了 *org.osgi.framework.system.packages.extra = * 也在 config.properties 中,我在这里添加了从 bouncycastle 导出的包
尽管如此,我还是无法成功加载捆绑包。我查看了 karaf 加载的所有包,但没有一个是在导出充气城堡包。 我在这里想念什么?如何使捆绑包启动?
【问题讨论】:
标签: maven osgi bouncycastle apache-karaf