【问题标题】:OSGi ConditionalPermissionAdmin - unable to assign permission to other bundleOSGi ConditionalPermissionAdmin - 无法将权限分配给其他捆绑包
【发布时间】:2014-04-08 06:27:53
【问题描述】:

我需要使用 ConditionalPermissionAdmin 分配权限以在 OSGi 中捆绑。权限字符串如下所示:

ALLOW { [org.osg.service.condpermadmin.BundleLocationCondition "file:d:/temp/*"]
    (org.osgi.framework.PackagePermission "org.osgi.framework" "import")

}

尽管此权限出现在活动权限列表中,但当我从 d:\temp 文件夹安装和启动捆绑软件时,它会导致异常,指出无法解析:

org.osgi.framework.BundleException: The bundle
"com.javaworld.sample.HelloWorld_1.0.0.201404031307 [2]" could not be resolved.
Reason: Missing Permission: ("org.osgi.framework.PackagePermission"
"org.osgi.framework" "import"), Missing Constraint: Import-Package:
org.osgi.framework; version="0.0.0"

我正在使用名为“OSGI in Action”的书第 14 章中的示例,我的 OSGi 实现是 Equinox (org.eclipse.osgi_3.7.2.v20120110-1415.jar),启动 OSGi 的命令行是

java -Dorg.osgi.framework.security="osgi" -jar org.eclipse.osgi_3.7.2.v20120110-1415.jar -console

似乎缺少某些东西 - 我尝试将 AllPermissions 分配给捆绑包,但在“管理员”捆绑包开始分配权限后它们仍然无法解决。任何建议将不胜感激。

【问题讨论】:

  • 你确定“file:d:/temp/*”会匹配包的实际位置字符串吗?

标签: java eclipse osgi


【解决方案1】:

错别字是我的祸根...在我尝试设置的许可下,我输入了“org.osg.service”而不是“org.osgi.service”——这足以让这个东西安静地停止工作...问题解决了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 2016-03-26
    • 2015-07-04
    • 2011-05-29
    • 1970-01-01
    • 2012-10-10
    • 2015-12-20
    相关资源
    最近更新 更多