Java 从jar文件加载eclipse插件

Java 从jar文件加载eclipse插件,java,eclipse,eclipse-plugin,eclipse-rcp,Java,Eclipse,Eclipse Plugin,Eclipse Rcp,我正在尝试运行一个示例插件 解压缩的zip包含2个jar文件。因此,我使用New->PluginDevelopment->pluginformexistingjar文件向导将它们加载到eclipse中 这会加载插件,但它不会按预期运行。将其与示例Hello world插件进行比较,我发现它在src文件夹中没有Activator.java文件和SampleAction.java文件 我如何让这个插件工作?肯定有办法 该示例非常古老,因此在现代eclipse中很难使用。这仍然是编写调试器插件的一个很

我正在尝试运行一个示例插件

解压缩的zip包含2个jar文件。因此,我使用
New->PluginDevelopment->pluginformexistingjar文件向导将它们加载到eclipse中

这会加载插件,但它不会按预期运行。将其与示例Hello world插件进行比较,我发现它在src文件夹中没有Activator.java文件和SampleAction.java文件


我如何让这个插件工作?肯定有办法

该示例非常古老,因此在现代eclipse中很难使用。这仍然是编写调试器插件的一个很好的介绍,但是在您了解了本文的要点之后,我建议您查看您可能熟悉的任何调试器的当前源代码

您应该注意有两个插件。把它们分开。我发现将jar和src-zip文件解压缩到各自的插件项目中非常有用

然后您必须升级插件清单格式。每个需要更改的项目都应该有一个警告。eclipse的某些版本中可能有升级功能,但我在3.7.1中找不到

在编辑器中打开清单,并选择manifest.MF和plugin.xml底部选项卡以查看原始清单。工作主要是将数据从plugin.xml移动到MANIFEST.MF。您可以在plugin.xml中看到它,并使用编辑器页面添加相同的信息。然后将其从plugin.xml中删除。正如您所指出的,清单项目之一是activation类。在旧的plugin.xml格式中,这将在plugin/@Class属性中显示,因此将其移动到Activator字段

您将得到一些关于不推荐使用的API的警告。您可以保留它们或重写使用它们的简单函数

要运行插件,您需要运行
Eclipse应用程序
launch(运行/调试配置)


本例中的两个插件不创建主工具栏或菜单。您可以看到它们是通过
Help>About>Installation Details>Plug-ins
加载的。您现在应该能够切换到Debug透视图并打开datastack视图。而且,
Debug>Debug Configurations>Push-Down Automata
还会列出PDA启动配置。注意:您可以在.pda文件(Ctrl+Shift+B)中设置断点,但是插件没有实现垂直编辑器标尺标记,因此您只能在断点视图中看到它们。

已经有一段时间了,但是您不能将zip文件放在项目源路径上吗?事实上,SampleAction是不必要的。@SamSu-Hmm有趣。我找不到一种方法,可以告诉插件运行。如果我创建了一个新插件,则会自动添加一些部署文件,但此zip文件似乎没有这样的功能:(非常感谢。我现在要尝试一下。顺便说一句,在做了上述更改后,你让它在你的系统上运行了吗?有趣的是,我认为这是一个单独的插件。如果它们是两个独立的插件,那么它们的核心部分将如何与UI部分通信。抱歉,这里有点困惑。这也是一个明智的选择d吗下载并在2004年的eclipse中尝试此示例(如果我找到了!)但非常感谢看到这一点。我不会早于eclipse 3.0。无论如何,这里有一个关于我重新编写的项目的例子。插件通过插件依赖项进行通信,插件依赖项是PDE通过插件清单管理的构建类路径容器。请参阅清单编辑器的依赖项页面。需要核心插件的是UI插件。它们非常解耦,但可以理解的是,UI在调试模型中查看和创建断点等内容。这非常有用。我确信我需要研究依赖关系。但是在运行插件时(在UI插件上点击右键)它仍然没有连接到菜单栏。它为您做了什么?如果是,那么可能我还是做错了什么:(如果您的eclipse中没有安装PDE,请参阅本教程:。要测试插件,请参阅。我安装了PDE。事实上,我确实运行了HelloWorld示例..运行得很好,但此示例仍然没有连接到菜单。错误日志中也没有错误消息。因此,这使我认为它正在启动(激活)类正在被调用。所以我问你是否能够将其作为插件附加到IDE工具栏/菜单栏。如果是,那么我肯定会很糟糕,需要了解更多可能出现的错误:-(