插件依赖部分显示了该插件使用的其他插件。这对应于插件 META-INF/MANIFEST.MF 的“Require-Bundle”和“Import-Package”部分。
任何“lib”文件夹都不是插件的标准功能。如果插件需要使用一些非插件 jars,它们可以包含在插件中,通常放在“lib”文件夹中。 MANIFEST.MF 中的“Bundle-ClassPath”条目列出了插件类路径中包含的所有内容。
注意:Eclipse 插件符合 OSGi 规范。 OSGi 将插件称为“捆绑包”。
例如,这里是来自我的一个 RCP 中的插件的 MANIFEST.MF:
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %plugin.name
Bundle-SymbolicName: greg.music.ogg;singleton:=true
Bundle-Version: 2.0.0.qualifier
Bundle-Vendor: %plugin.provider
Bundle-Localization: plugin
Require-Bundle: greg.music.core;bundle-version="1.0.0",
greg.music.resources;bundle-version="1.0.0",
org.eclipse.core.runtime,
javazoom.jlgui.basicplayer,
org.eclipse.e4.core.services;bundle-version="2.0.100"
Bundle-ClassPath: .,
lib/jogg-0.0.7.jar,
lib/jorbis-0.0.15.jar,
lib/vorbisspi1.0.2.jar
Bundle-RequiredExecutionEnvironment: JavaSE-9
Import-Package: javax.annotation;version="1.0.0",
javax.inject;version="1.0.0",
org.eclipse.e4.core.di.annotations
还有 5 个其他插件的“Require-Bundle”和 3 个其他软件包的“Import-Package”。 “Bundle-Classpath”包括主插件代码(显示为“.”)和“lib”目录中的 3 个 jar。