【问题标题】:OSGi: Recalculate the Import-Package of a JAR programmaticallyOSGi:以编程方式重新计算 JAR 的导入包
【发布时间】:2021-07-31 22:07:06
【问题描述】:

我想以编程方式重新计算 OSGi Jar 的“导入包”。我尝试使用 bnd 分析器。

    try(Analyzer analyzer = new Analyzer()) {
        analyzer.setJar(new File(filename));
        return analyzer.getImportPackage();
    }

这将返回 MANIFEST.MF 的(错误的)现有导入。如何以编程方式重新计算 OSGi Jar 的“导入包”?

更新 添加为 BJ Hargrave calMainfest() 建议不起作用:

try(Analyzer analyzer = new Analyzer()) {
    analyzer.setJar(new File(filename));
    analyzer.calcManifest(); 
    return analyzer.getImportPackage();
}

它似乎使用了 Jar 中包含的现有 MANIFEST.MF。 最好的祝福 纪章

【问题讨论】:

    标签: osgi bnd bndtools


    【解决方案1】:

    您需要调用calcManifest() 来计算新的清单。否则它只使用现有的清单。

    【讨论】:

    • 调用 calcManifest 之后 importPackage 还是空的。
    • @bl-hargrave 使用 calcManifest() 时,它似乎仍然使用没有 import-package 的现有 MANIFEST.MF(它使用Required-Bundles)
    猜你喜欢
    • 2013-07-03
    • 1970-01-01
    • 2019-01-21
    • 1970-01-01
    • 2022-01-13
    • 2014-01-12
    • 2011-06-08
    • 2011-11-30
    • 1970-01-01
    相关资源
    最近更新 更多