【问题标题】:Installing Eclipse (3.4+) plugins in a directory other than ECLIPSE_HOME/plugins在 ECLIPSE_HOME/plugins 以外的目录中安装 Eclipse (3.4+) 插件
【发布时间】:2010-10-09 14:30:02
【问题描述】:

曾经有一种方法可以做到这一点,但我在我拥有的 Eclipse 3.4.1 安装中无法再找到它。有人知道怎么做吗?

【问题讨论】:

  • 刚刚用更完整的程序更新了我的答案。你能告诉我这是否能更好地解决你的问题吗?

标签: eclipse ide


【解决方案1】:

不确定这是否是您正在寻找的,但如果您手动获取插件(不是通过加载器,就像 jars 一样),您可以使用 dropins 机制。

转到 ECLIPSE_HOME/dropins

创建一个名为“SomeNameForFunctionality”的目录 在下面创建一个名为“eclipse”的子目录 在“Eclipse”下创建名为“features”和“plugins”的子目录 将插件和功能 jar 移动到相应的子目录。

重新启动 Eclipse 并确保加载需要几秒钟。你的插件应该还在。

【讨论】:

  • 谢谢尤里!但我一直在寻找让软件更新程序将插件安装到不同目录的选项。
【解决方案2】:

2014 年 5 月更新,Eclipse 4.x

正如oberliesthe comments 中指出的那样:

Dropin 已弃用!不要使用它们!

尽管它们仍然被记录在案(在Kepler 4.3 for instance),this thread 补充说:

Eclipse 不推荐使用dropins 文件夹安装方法的原因之一是如果出现问题没有反馈。任何数量的事情都可能成为阻碍。

  • 如果您使用的是安装 UI,您会在进行任何更改之前被告知问题。
  • 使用 dropins,Eclipse 会尝试尽可能多地安装和启动,而您并不真正知道发生了什么。

本地部署as shown in this tutorial 宁愿使用File → Export → Plug-in Development → Deployable plug-ins and fragments

但最终目的地仍然在ECLIPSE_HOME/plugins


原始答案(2009,Eclipse 3.x)

您应该在ECLIPSE_HOME/dropins 中添加您的插件。

如果要定义常用插件,请使用bundle pools(也可使用introduced here

您也可以使用自己的额外 dropins 文件夹:只需在 eclipse.ini 中添加一个参数:

-Dorg.eclipse.equinox.p2.reconciler.dropins.directory= /your_path/e34shared_dropin

这个额外的 dropins 位置可以从多个 Eclipse 安装中使用 - 因此您可以将它用作共享的 dropins(监视目录)。

对于Bundle Pool,你有here a step by step procedure:


为了更好地解决您的问题,您可能会对以下文章感兴趣:

p2: how I install plugins in extension locations(来自 Eclipse and Java Blog by Michael Scharf 博客)

以下过程说明如何将插件安装到不同的扩展位置,并使用 p2 更新管理器和链接文件在不同的 eclipse 安装之间共享这些扩展位置。如需详细讨论,请参阅bug 224145

(注意:p2是管理插件的“新”方式,链接是在eclipse安装目录之外引用插件的“旧”方式)

我在C:\eclipse\extensions 中保留了一组不同的扩展位置(每个扩展位置都在该目录的子目录中)。
假设我想将 foo 安装到新的扩展位置 C:\eclipse\extensions\foo

  1. 我开始 Eclipse:
-configuration C:\eclipse\extensions\foo\eclipse\configuration
  1. 我使用更新管理器安装 foo。

  2. 现在我可以通过在 Eclipse 安装的链接目录中创建一个 foo.link 文件来使用该扩展(您可能必须创建 [eclipse]\links 目录),其中包含:

  path=C:/eclipse/extensions/foobar

就是这样:-)

注意事项:

  • 您必须在链接文件中的窗口上添加正斜杠。
  • 此过程适用于 eclipse 3.4 和 3.5。
  • 您不必创建由 -configuration 参数指定的任何目录。 Eclipse 会为您做到这一点。
  • 对于“-configuration”参数遵循模式EXTENSION_NAME/eclipse/configuration 很重要,因为p2 会将插件放在配置目录之上的一个目录,而链接文件要求包含插件的目录称为eclipse
  • 使用这种结构,我可以通过运行带有 -configuration 的 eclipse 将插件更新到扩展位置,然后进行更新。

高级使用:如果我想基于我的 foo 扩展安装 bar,我在 bar 扩展位置 links 目录中创建一个指向 foo 的链接文件:

C:\eclipse\extensions\bar\eclipse\configuration\links\foo.link

并按照我上面描述的标准程序(可以在第一次运行 eclipse 之前填充链接目录)...

eclipse 3.4 的注意事项:如果你使用的是 eclipse 3.4 并且你想使用 eclipse 默认的更新站点,你必须在没有“-configuration”的情况下运行 eclipse 并导出它们(Help->Software Updates->Available Software (tab)->Manage Sites->Export),这样你就可以导入它们进入“-configuration”日食。

【讨论】:

  • 感谢 VonC!使用在 eclipse.ini 中配置的外部 dropins 目录对我有用。但奇怪的是,如果我想在 ECLIPSE_HOME 之外管理我的插件,我就不能再使用软件更新了。
  • +1,(如果可以的话,我会做 +5 的)以获得很棒的图表。当你做一个漂亮的图表/可视化时,你几乎可以保证 +1。
  • 基于链接的插件共享在我的 Windows XP 机器上可以与 Eclipse Helios 一起使用,但在 Fedora 13 上无法与 Eclipse Indigo 一起使用。Eclipse Indigo 是否不支持基于链接的插件共享方法?
  • @rits:不,我不这么认为。共享的 dropins 目录仍然是官方有效的方式:stackoverflow.com/questions/2763843/…
  • Dropins 已被弃用!不要使用它们!
【解决方案3】:

如果您手动安装插件,Dropins 文件夹是一个很好的解决方案。如果您通过更新管理器安装插件,则无法通过 UI 选择插件的安装位置。不再。

顺便说一句,如果您喜欢在多个 Eclipse 安装之间共享插件,您可以创建一个链接文件,将其放在 Dropins 文件夹中,它的工作原理是一样的,无需修改 INI。

链接文件是纯文本文件,以.link 扩展名结尾,其中有一行:path=/path/to/your/plugins

【讨论】:

    【解决方案4】:

    我只是浪费了一个小时试图在 Eclipse 3.7 的 dropins/ 目录中部署一个插件,并认为我会分享。

    事实证明,由 MacOS X 生成的预览文件(以 ._ 开头,例如 .com.example.myplugin.jar)干扰了 P2 自动检测并导致它在到达我的插件之前失败。我搜索了所有 . 文件并删除了它们,插件终于加载了

    【讨论】:

      猜你喜欢
      • 2010-09-22
      • 1970-01-01
      • 2011-02-19
      • 1970-01-01
      • 1970-01-01
      • 2015-10-20
      • 2011-05-16
      • 2010-10-29
      • 2014-09-28
      相关资源
      最近更新 更多