是否有可能(并且如果是安全的话)在捆绑软件的生命周期内随时修改捆绑的清单(即大概只在已安装和已解决之间)。

我想问这个问题的另一种方式是

在安装之后但尚未解决之前,清单是否已被充分评估(即进一步的更改将被忽略),以至于为时已晚?

如果以上所有内容看起来都是荒谬的。那么我的下一个问题是,有没有人认为有可能(没有讨厌的框架漏洞)包装MANIFEST分辨率(即,获取META-INF / MANIFEST的类加载器步骤)。束中的MF),并带有自定义的印象。

背景:考虑一个不基于OSGi的现有模块化框架,我想通过提供部署现有“插件”基调的功能来简化向OSGi的迁移。未经修改,并且在运行时执行分析(“插件”定义明确,因此映射应该不难),使用BND运行时操作将其转换为真正的OSGi捆绑包,以生成MANIFEST(可用于替换)可能不存在或没有osgi-bundle清单。

希望这很有道理(@njbartlett!)

有帮助吗?

解决方案

为什么不定义在安装/更新过程中对清单进行突变的URL方案?当框架通过URLConnection访问包时,您可以返回带有已更改清单的已更改包。基本上,这是Web捆绑软件支持的功能,它也应该对您有用。

其他提示

不,您不能这样做。在安装操作期间,将读取整个JAR文件(并因此读取MANIFEST.MF)。为了更改该JAR中的任何内容,您将不得不更新捆绑软件或卸载并重新安装。

关于您实际想要做什么,为什么不能只通过bnd 之前将JAR作为捆绑包进行分析和转换?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top