当前位置: 首页 > 面试题库 >

从任何Java应用程序调用自己的eclipse插件方法

凤修为
2023-03-14
问题内容

我想做以下事情:

创建一个自己的Eclipse插件,(例如)只有一个方法“ sayHello”显示消息“ hello world”。

所以太好了。

但是现在我想让安装了我的插件的用户从其Java代码中调用此方法。像这样的东西:

//[...]
org.jjoe64.my_eclipse_plugin.Plugin.sayHello(); // of course this won't work...
//[...]

有谁知道如何做到这一点?我认为这有点复杂…


问题答案:

基本上,您希望从Eclipse 编译并 运行的 代码中调用一个 正在运行的 插件。因为这是两个单独的过程,所以没有简单的方法可以直接调用方法。 __

一种简单的解决方案是让您的插件轮询在用户工作空间中创建的临时文件。

class Plugin {
   void Activate() {
      while (true)
         if (temporaryFile.hasChanged())
            doSomething();
   }
}

创建一个用户导入其项目的库。他们在该库中调用一个函数来更新文件:

class PluginCaller {
    static void sendMessageToPlugin(String message) {
         temporaryFile.append(message);
    }
}

当您的插件看到有更改时,就好像调用了该方法一样。



 类似资料:
  • 我有一个类,它扩展了另一个类并使用了一个特征。 扩展类()扩展了另一个类(),它扩展了一个抽象类()。 当创建一个类时,会执行trait构造函数,因为在中没有定义构造函数。同时,trait构造函数调用一个方法(),该方法在trait中定义,但也在抽象类中定义,具有相同的可见性(protected)。 我不明白的是,当从trait调用时,执行的方法不是trait中定义的方法,而是抽象类()中定义的方

  • 问题内容: 我正在寻找Eclipse的 Java应用程序中的瓶颈。我认为这可能有用: http://www.eclipse.org/projects/project_summary.php?projectid=tptp.performance 还有其他好用的插件吗? 编辑 OK,不一定必须是Eclipse插件。但这会很好。而且,我对速度最感兴趣。 问题答案: 如果可以,请在Sun Java 6 J

  • 问题内容: 我有一个使用Maven作为构建工具的Flex / Java Web应用程序。当前,如果要调试整个应用程序,则可以使用Maven创建WAR文件,并使用cargo插件部署WAR文件并启动应用程序服务器。然后,我启动Eclipse(使用Flash Builder 4)Flex“ Web应用程序”调试配置并开始调试。 一切都很好,但是我正在寻找一种使它更快的方法。我希望能够编辑Flex代码并立

  • 问题内容: 我想从Java应用程序调用Servlet。问题是,该调用似乎未到达Servlet。我没有收到任何错误,但是没有到达Servlet中的第一个输出“ doPost”。如果我在Web浏览器中打开URL,我当然会得到如下错误:不支持GET等。但是至少我知道发生了一些错误。 我使用以下代码(ActionPackage类仅包含一个Vector参数,并且可序列化): Java应用程序: Servle

  • 我有一个通过ClickOnce (VS 2012)部署到文件共享的windows应用程序。它被配置为一个在线应用程序(没有安装在客户端)。我可以通过客户机运行这个应用程序,只需指向文件共享并双击该文件。我遇到的问题是在客户端(客户端实际上是一个服务器,Windows Server 2008)上运行这个任务。但是,如果我创建一个调用ClickOnce应用程序的批处理文件,任务计划程序可以成功调用该批

  • 我的应用程序不支持下一代java插件,但在我的一个文档中,我看到了调试此应用程序的步骤,以设置jvm运行时参数为-Xdebug-Xrunjdwp:传输=dt_socket,地址=8000,服务器=y,挂起=y。 现在的问题是与此参数Internet Explorer是不是崩溃或挂起没有加载任何东西。一旦删除此参数解决了这个问题,应用程序运行正常。 那么,是否可以使用其他参数调试该应用程序?我也尝试