代码之家  ›  专栏  ›  技术社区  ›  ng.

如何加载eclipse插件

  •  3
  • ng.  · 技术社区  · 14 年前

    我最近开发了一个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错误日志,我看不到任何错误。但是,如果我编辑 MF宣言 然后放入一些垃圾字符串,它报告并错误地验证 小精灵 所以我知道eclipse看到了插件

    有人能帮忙吗?

    2 回复  |  直到 14 年前
        1
  •  4
  •   Community taleinat    7 年前

    在Eclipse3.4中,您的Eclipse安装中有一个新的目录下拉列表。
    Eclipse p2

    alt text http://www.jroller.com/myeclipseblog/resource/7-OpenDropinsFolder.png

    尝试复制插件。

    同时检查,如 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版本中关闭,但仍然…)

    所以如果你能用日食3.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 )

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

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

    如果您的jar已经尊重上面所示的my.plugin.x.y.z结构,那么您只需在 myPlugins 目录。(两种方法都可以在这里尝试)

        2
  •  6
  •   Lars Vogel    14 年前

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

    安装介质p2在3.4到3.5之间得到增强。这也许可以解释这种行为的不同。听起来你可以选择使用Eclipse3.5。我强烈建议使用3.5,因为3.4中的p2是p2的第一个版本,它取代了旧的更新管理器。