繁体   English   中英

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

[英]call a own eclipse plugin method from any java application

我想做以下事情:

创建一个自己的 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();
   }
}

创建您的用户导入其项目的库。 他们在更新文件的库中调用 function :

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

当您的插件看到发生了变化时,它就好像调用了该方法一样。

JUnit 也有同样的问题。 它通过运行让用户可见的 static 方法产生一个单独的进程来解决这个问题,插件监控其 state。 事实上,许多外部程序的 Eclipse 插件只是简单地运行命令行和监控输出/日志。 (通过加勒特大厅

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM