вызвать собственный метод плагина eclipse из любого Java-приложения - PullRequest
2 голосов
/ 29 июня 2011

Я хотел бы сделать следующее:

Создайте собственный плагин Eclipse, в котором (например) есть только один метод "sayHello", который отображает сообщение "Hello World".

так хорошо.

Но теперь я хочу позволить пользователям, у которых установлен мой плагин, вызывать этот метод из своего кода Java. что-то вроде этого:

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

Кто-нибудь знает, как это сделать? Я думаю, что это немного сложнее ...

Ответы [ 2 ]

4 голосов
/ 29 июня 2011

Обычно вы хотите вызвать работающий плагин из скомпилированного кода и работающий из Eclipse.Поскольку это два отдельных процесса, простого способа напрямую вызвать метод не существует.

Одним простым решением является опрос вашего плагина во временном файле, который он создает в рабочей области пользователя.

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

Создайте библиотеку, которую ваш пользователь импортирует в свой проект.В этой библиотеке они вызывают функцию, которая обновляет файл:

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

Когда ваш плагин видит, что произошли изменения, он действует так, как если бы был вызван метод.

1 голос
/ 10 декабря 2011

У JUnit такая же проблема. Он решает эту проблему путем запуска видимого пользователем статического метода, порождающего отдельный процесс, состояние которого контролирует плагин. Фактически, многие подключаемые модули Eclipse для внешних программ просто запускают командную строку и отслеживают вывод / журналы. (через Гарретт Холл )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...