gpt4 book ai didi

Eclipse 插件在 Ganymede 中不起作用,但在 Galileo 中起作用

转载 作者:行者123 更新时间:2023-12-04 07:03:22 25 4
gpt4 key购买 nike

我在 eclipse Galileo 中做了一个插件。我的插件有以下依赖项:

Require-Bundle: org.eclipse.ui;bundle-version="3.5.0",
org.eclipse.core.runtime;bundle-version="3.5.0",
org.eclipse.core.resources;bundle-version="3.5.0",
org.eclipse.jdt.core;bundle-version="3.5.0",
org.eclipse.jdt.ui;bundle-version="3.5.0"

但由于木卫三有上述不同版本,即:
Require-Bundle: org.eclipse.ui;bundle-version="3.4.2",
org.eclipse.core.runtime;bundle-version="3.4.0",
org.eclipse.core.resources;bundle-version="3.4.2",
org.eclipse.jdt.core;bundle-version="3.4.2",
org.eclipse.jdt.ui;bundle-version="3.4.2"

同一个插件在两者中都不起作用。我暂时做了两个插件,一个是伽利略的,一个是木卫三的,上面的区别在 manifest.mf

是否有可能使插件独立于 eclipse 类型,因为将来当更新版本的 eclipse 被制作时,我的插件将变得无用。即使所需的调整很低......是否有可能以某种方式使其独立

我想将所需的插件包(如 org.eclipse.core.runtime;bundle-version="3.5.0")与插件一起放置,并指示人们将它们与我的插件 jar 一起粘贴到他们的插件目录中。在那里它们可能与已经存在的较低版本的插件包冲突吗?

最佳答案

出现问题是因为您的依赖声明声明了要使用的最低版本,因此在 Ganymede 上不满足要求并且未加载您的插件。如果插件与 Ganymede 兼容,请指定依赖版本,例如

org.eclipse.ui;bundle-version="3.4.2"

您将能够在两个平台(以及 future 版本)上使用该插件。我会使用这种方法。

请注意,您还可以将依赖项设置为 version ranges如果您想包含您支持的特定范围的版本。例如:
[3.0.0, 4.0.0)

将允许从 3.0.0 包含到 4.0.0 不包含的任何版本(即任何 3.x 版本)

随着 Eclipse 4 进入清算阶段,这可能是您需要考虑的一个问题。

无论你做什么,都不要在你的发行版中包含 3.5 插件,这会给 Ganymede 用户带来各种各样的问题,因为其他插件可能无法正常工作

关于Eclipse 插件在 Ganymede 中不起作用,但在 Galileo 中起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1491143/

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