如何控制对捆绑包的访问。我有一组在 MANIFEST.MF 中通过导出公开包的包。暴露的包应该只在我的捆绑包中使用。不允许其他外部包使用“import package”来使用这些包。
我有什么方法可以施加这些限制吗?
答案 0 :(得分:4)
您可以查看OSGi Security(2.Security Layer OSGi Core Spec)来管理对各种资源(包,包,服务等)的限制。
在您的情况下,您可以使用IMPORT / EXPORT操作为您的捆绑包设置PackagePermission。其他捆绑包没有任何权限来导入您的包。
答案 1 :(得分:3)
首先,是否有其他人进口您的包裹?除非您导出的实现没有人应该看到(在这种情况下您应该重新考虑您的分区),通常没有问题,有些软件包可能会导入或不导入。
如果您确定需要隐藏某些软件包,则没有简单的方法可以执行此操作。想到的一些事情是
然而,这两种都是非常严厉的方法,除非你是例如,否则我会远离它们。构建自己的应用程序服务器。