【问题标题】:How to load an eclipse plug-in如何加载一个eclipse插件
【发布时间】:2010-02-12 11:37:46
【问题描述】:

我最近开发了一个 Eclipse 插件,但是插件似乎没有在 Eclipse (3.4.2) 中加载。如果我去

Help > About Eclipse Platform > Configuration Details

我看到列出的插件

file:/C:/Program Files/eclipse/ganymede/plugins/de.vogella.plugin.htmlconverter_1.0.0.jar

但它似乎不起作用。我知道插件已经正确实现,就像我右键单击项目 (de.vogella.plugin.htmlconverter) 并选择 Run Eclipse Application 然后启动一个新的 Eclipse 并且已经实现的弹出菜单工作。那么为什么我从 Eclipse 中导出项目并放在 plugins 目录中时它不起作用。

我在 Windows XP 和 Mac OS X 上都试过了,但没有成功,如果我检查 JAR,我会看到所有必需的工件。

META-INF/
META-INF/MANIFEST.MF
de/
de/vogella/
de/vogella/plugin/
de/vogella/plugin/htmlconverter/
de/vogella/plugin/htmlconverter/handler/
src/
src/de/
src/de/vogella/
src/de/vogella/plugin/
src/de/vogella/plugin/htmlconverter/
src/de/vogella/plugin/htmlconverter/handler/
de/vogella/plugin/htmlconverter/Activator.class
de/vogella/plugin/htmlconverter/handler/Convert.class
plugin.xml

我的MANIFEST.MF 也是这个样子

Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Htmlconverter Plug-in
Bundle-SymbolicName: de.vogella.plugin.htmlconverter;singleton:=true
Bundle-Version: 1.0.0
Bundle-Activator: de.vogella.plugin.htmlconverter.Activator
Require-Bundle: org.eclipse.ui,org.eclipse.core.runtime,org.eclipse.co
 re.resources;bundle-version="3.4.0",org.eclipse.jdt.core;bundle-versi
 on="3.4.0"
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Import-Package: org.osgi.framework;version="1.3.0"
Export-Package: de.vogella.plugin.htmlconverter;uses:="org.osgi.framew
 ork,org.eclipse.ui.plugin",de.vogella.plugin.htmlconverter.handler;us
 es:="org.eclipse.core.commands,org.eclipse.core.resources,org.eclipse
 .core.runtime"

我尝试过惰性激活和急切激活,但仍然没有。真正令人困惑的是,当我调试和启动一个单独的 Eclipse 应用程序时它可以工作。任何想法我做错了什么。
是否有其他 Eclipse 插件可以执行某种形式的诊断并告诉我出了什么问题。

最后一点,如果我查看 Eclipse 错误日志,我看不到任何错误。但是,如果我编辑 MANIFEST.MF 并放入一些垃圾字符串,它会报告验证 MANIFEST.MF 时出错,所以我知道 Eclipse 会看到该插件

谁能帮忙?

【问题讨论】:

  • @ng 奇怪,你能用-clean -console 选项启动你的eclipse吗?您可以尝试使用新的(没有其他插件)日食吗?你用 eclipse3.5 试过了吗?
  • 嗨,-clean -console 没有消息,它在 3.5 中有效???
  • @ng:查看我编辑的答案(关于 eclipse 3.4.x 中 p2 的状态)
  • @VonC:感谢您的回答,它几乎回答了我的问题,但是必须有一种方法可以在 3.4.x 中安装插件,我可以不创建更新站点并打包我的某种已知格式的插件?我在 3.4.x 中用这种方式安装了其他插件?
  • @ng:刚刚完成我的回答以提供其他插件部署选项。

标签: java eclipse


【解决方案1】:

听起来你正在使用我的教程:http://www.vogella.de/articles/EclipsePlugIn/article.html

安装介质 p2 在 3.4 和 3.5 之间进行了增强。这可以解释行为的差异。听起来您可以选择使用 Eclipse 3.5。我强烈建议使用 3.5,因为 3.4 中的 p2 是 p2 的第一个版本,它取代了旧的更新管理器。

【讨论】:

  • 拉尔斯?!我没有马上看到你的答案,但所有这些有用的 Eclipse 文章的作者都必须 t+1 :) 谢谢你,欢迎来到 Stack Overflow。
【解决方案2】:

从 eclipse3.4 开始,您的 eclipse 安装中有一个新目录 dropins。
Eclipse p2


(来源:jroller.com

尝试在那里复制插件。

还要检查一下,作为illustrated by this thread,您没有定义自己的config.ini

当我将其更改为“Generate a default config.ini file”并刷新它时,它运行良好。


OP ng 补充说:

它在 3.5 中有效,但为什么不是 3.4.x??

p2 是在 3.4 开发生命周期 (3.4M6) 后期引入的,一开始有很多错误。
p2 的 3.5 版本被认为更加稳定。

它提示了类似“Re-enable old Update Manager in 3.4.0 and disable p2 as update engine/UI”的错误,因为(摘自错误报告):

  • p2 在 Eclipse 开发周期 (M6) 的后期异常公开。 社区没有机会广泛测试这样一个核心功能。
  • p2 的已打开 bug 列表对于这么大和这么晚的人来说非常大 平台变化

more then 4000,其中大部分在 3.5 版本中关闭,但仍然...)

因此,如果您可以使用 eclipse3.5,那对于工作 p2 功能会更好。


ng 补充:

但必须有一种方法可以在 3.4.x 中安装插件,

您可以尝试将您的插件复制到 shared plugin directory,它应该能够解释 pre-p2 和 p2 格式。
将通过(对于 3.4)引用该公共外部目录:

[eclipse]\links\myplugins.link file
content:
path=C:/my/eclipse/plugins

(对于 3.5,您将使用 eclipse.ini setting,如 this eclipse.ini

尝试按照类似于 I used for a ClearCase plugin 的目录结构复制您的插件:

 myPlugins
   my.plugin.x.y.z
     eclipse
       features 
          ...
       plugins
          ...

如果您的 jar 已经遵循上面显示的 my.plugin.x.y.z 结构,您可以将 jar 复制到 myPlugins 目录中。 (两种方法都可以在这里尝试)

【讨论】:

  • 这似乎不起作用,我尝试将其放入 dropins,但仍然看不到菜单。同样作为基准,我将 de.bastiankrol.startexplorer_0.4.0.200810292106.jar 添加到 dropins 文件夹中。这是一个可从 Eclipse 站点下载的插件,它也不起作用,我知道我之前在其他安装中尝试过,它运行良好。
  • @ng 奇怪,你能用-clean -console 选项启动你的eclipse吗?您可以尝试使用新的(没有其他插件)日食吗?你用 eclipse3.5 试过了吗?
  • 在“dropins”文件夹中创建一个文件夹“eclipse”。在新的“sclipse”文件夹中创建一个文件夹“plugins”。将您的插件放入新的“插件”文件夹中。 help.eclipse.org/galileo/index.jsp?topic=/…
  • 它在 3.5 中工作,但为什么不是 3.4.x?另外,这不可能是安装问题,因为我的 Mac 也有同样的问题,有什么建议吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-22
  • 1970-01-01
  • 2023-04-03
  • 1970-01-01
  • 1970-01-01
  • 2013-03-01
相关资源
最近更新 更多