【问题标题】:What is the difference between plug-in dependencies and lib in eclipse rcpeclipse rcp中插件依赖和lib有什么区别
【发布时间】:2017-11-18 16:23:21
【问题描述】:

我有一个大型 Eclipse RCP 应用程序。查看 Package Explorer 视图,我有很多插件。每个插件下面都有一个插件依赖项部分和一个 lib 目录。 Plug-in Dependencies 部分中的 jars 和 lib 目录有什么区别? Plug-in Dependencies 部分不是磁盘上的物理目录。插件依赖项部分是否是 plugin.xml 文件的可视化表示?这两种不同的东西有什么关系?

【问题讨论】:

    标签: java eclipse-rcp


    【解决方案1】:

    插件依赖部分显示了该插件使用的其他插件。这对应于插件 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。

    【讨论】:

      猜你喜欢
      • 2015-02-18
      • 1970-01-01
      • 2011-02-11
      • 2019-09-18
      • 2012-12-07
      • 2014-04-20
      • 1970-01-01
      • 2014-12-09
      • 1970-01-01
      相关资源
      最近更新 更多