Java OSGi ConditionalPermissionAdmin-无法将权限分配给其他捆绑包
我需要使用ConditionalPermissionAdmin为OSGi中的bundle分配权限。权限字符串如下所示:Java OSGi ConditionalPermissionAdmin-无法将权限分配给其他捆绑包,java,eclipse,osgi,Java,Eclipse,Osgi,我需要使用ConditionalPermissionAdmin为OSGi中的bundle分配权限。权限字符串如下所示: ALLOW { [org.osg.service.condpermadmin.BundleLocationCondition "file:d:/temp/*"] (org.osgi.framework.PackagePermission "org.osgi.framework" "import") } 尽管此权限出现在活动权限列表中,但当我从d:\temp文件夹安装并
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在行动》一书第14章中的示例,我的OSGI实现是Equinox(org.eclipse.OSGI_3.7.2.v20110-1415.jar),启动OSGI的命令行是
java -Dorg.osgi.framework.security="osgi" -jar org.eclipse.osgi_3.7.2.v20120110-1415.jar -console
似乎缺少了一些东西-我尝试将所有权限分配给bundle,但在“admin”bundle开始分配权限后,它们仍然无法解决。任何建议都将不胜感激。打字错误是我的祸根。。。在我试图设置的权限中,我输入了“org.osg.service”而不是“org.osgi.service”——这足以让这个东西安静地停止工作。。。问题已解决。您确定“file:d:/temp/*”将与捆绑包的实际位置字符串匹配吗?