问题描述
我想做以下事情:
创建一个自己的 Eclipse 插件,它(例如)只有一个方法sayHello",它显示一条消息hello world".
Create a own Eclipse Plugin, that (for example) just has one method "sayHello" that displays a message "hello world".
那么好.
但是现在我想让安装了我的插件的用户从他们的 java 代码中调用这个方法.类似的东西:
But now I want to let the users, that have my plugin installed, call this method from their java code. something like that:
//[...]
org.jjoe64.my_eclipse_plugin.Plugin.sayHello(); // of course this won't work...
//[...]
有人知道怎么做吗?我认为这有点复杂......
has anybody an idea how to do this? I think it's a little bit more complicate ...
推荐答案
基本上你想从编译的代码中调用一个 running 插件并从 Eclipse 中调用 running.因为这是两个独立的进程,所以没有简单的方法可以直接调用一个方法.
Basically you want to call a running plug-in from code compiled and running from Eclipse. Because these are two separate processes there is no simple way to directly invoke a method.
一个简单的解决方案是让您的插件轮询它在用户工作区中创建的临时文件.
One simple solution is to have your plug-in poll a temporary file it creates in the user's workspace.
class Plugin {
void Activate() {
while (true)
if (temporaryFile.hasChanged())
doSomething();
}
}
创建一个您的用户导入其项目的库.他们调用该库中的一个函数来更新文件:
Create a library your user imports to their project. They call a function in that library that updates the file:
class PluginCaller {
static void sendMessageToPlugin(String message) {
temporaryFile.append(message);
}
}
当您的插件发现有更改时,它的行为就像调用了该方法一样.
When your plug-in sees there has been a change, it acts as though the method was called.
这篇关于从任何 Java 应用程序调用自己的 Eclipse 插件方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!