Java 如何从IProject中获取捆绑包的SymbolicName?
我正在为一个eclipse项目编写向导,希望在Manifest.MF中包含另一个插件as Require Bundle 我有我想要包含的IProject,我可以访问它的Bundle SymbolicName而不解析Manifest.MF吗?或者有其他方法可以避免手动解析吗?一个IProject可能不代表插件,也没有任何直接的API来获取插件id 您可以使用普通Java Manifest类查看Manifest.MF,方法如下:Java 如何从IProject中获取捆绑包的SymbolicName?,java,eclipse,eclipse-plugin,Java,Eclipse,Eclipse Plugin,我正在为一个eclipse项目编写向导,希望在Manifest.MF中包含另一个插件as Require Bundle 我有我想要包含的IProject,我可以访问它的Bundle SymbolicName而不解析Manifest.MF吗?或者有其他方法可以避免手动解析吗?一个IProject可能不代表插件,也没有任何直接的API来获取插件id 您可以使用普通Java Manifest类查看Manifest.MF,方法如下: IProject project = ... IFile manif
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) {
...
}
}
此代码改编自EclipsePDE用于查找插件的代码