gpt4 book ai didi

java - 如何从 IProject 获取 Bundle-SymbolicName?

转载 作者:行者123 更新时间:2023-12-02 10:06:07 24 4
gpt4 key购买 nike

我正在为 Eclipse 项目编写一个向导,并希望在 Manifest.MF 中包含另一个插件作为 Require-Bundle

我有想要包含的 IProject,我可以在不解析 Manifest.MF 的情况下访问其 Bundle-SymbolicName 吗?或者有其他方法可以避免手动解析吗?

最佳答案

IProject 可能不代表插件,并且没有任何直接 API 来获取插件 ID。

您可以使用普通的 Java Manifest 类来查看 MANIFEST.MF,方法如下:

IProject project = ...

IFile manifestResource = project.getFile(new Path("META-INF/MANIFEST.MF"));
if (manifestResource.exists()) {
try (InputStream stream = manifestResource.getContents()) {
Manifest manifest = new Manifest();
manifest.read(stream);

String symbolicName = manifest.getMainAttributes().getValue("Bundle-SymbolicName");
} catch (CoreException | IOException ex) {
...
}
}

此代码改编自 Eclipse PDE 用于查找插件的代码。

关于java - 如何从 IProject 获取 Bundle-SymbolicName?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55324229/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com