gpt4 book ai didi

java - eclipse rcp中插件依赖和lib有什么区别

转载 作者:行者123 更新时间:2023-12-02 11:59:39 24 4
gpt4 key购买 nike

我有一个大型 Eclipse RCP 应用程序。查看 Package Explorer View ,我有很多插件。每个插件下面都有一个插件依赖项部分和一个 lib 目录。插件依赖项部分中的 jar 和 lib 目录中的 jar 有什么区别?插件依赖项部分不是磁盘上的物理目录。插件依赖项部分是plugin.xml 文件的直观表示吗?这两个不同的事物之间有什么关系?

最佳答案

插件依赖关系部分显示此插件使用的其他插件。这对应于插件 META-INF/MANIFEST.MF 的“Require-Bundle”和“Import-Package”部分。

任何“lib”文件夹都不是插件的标准功能。如果插件需要使用一些非插件 jar,它们可以包含在插件中,并且通常放在“lib”文件夹中。 MANIFEST.MF 中的“Bundle-ClassPath”条目列出了插件类路径中包含的所有内容。

注意:Eclipse 插件符合 OSGi 规范。 OSGi 将插件称为“ bundle ”。

作为示例,这里是来 self 的一个 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。

关于java - eclipse rcp中插件依赖和lib有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47358319/

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