如何解决OSGi:以编程方式重新计算 JAR 的导入包
我想以编程方式重新计算 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。 最好的祝福 纪章
解决方法
您需要调用 func require<T>(_ name: String) throws -> T {
guard let index = self.index(forKey: name) else {
throw DictionaryExtractionError.missingProperty(name)
}
guard let t = self[index].value as? T else {
throw DictionaryExtractionError.casting(name)
}
return t
}
来计算新的清单。否则它只会使用现有的清单。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。