簡體   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