【发布时间】:2010-08-23 14:07:30
【问题描述】:
我正在开发一个 Eclipse 插件。我已经声明了一个包含一个操作的操作集,但是当调用该操作时,它并没有做它应该做的事情。
这是动作的类。
package instantmessengerplugin;
import java.io.IOException;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.IWorkbenchWindowActionDelegate;
public class ActionClass implements IWorkbenchWindowActionDelegate {
@Override
public void dispose() {
// TODO Auto-generated method stub
}
@Override
public void init(IWorkbenchWindow window) {
//this.window = window;
}
@Override
public void run(IAction arg0) {
System.out.println("hello");
Connection.main(null);
}
@Override
public void selectionChanged(IAction arg0, ISelection arg1) {
// TODO Auto-generated method stub
}
}
所以我知道这个类可以正常工作,因为 run 方法中的 print 语句执行得很好。
Connection 包含在我添加到类路径中的 jar 中。它存在于项目的引用库中。我的目标是让动作启动 jar 文件。
我已经在 Connection.main 行上运行了调试器。
这是我进入这一行时的堆栈:
EventTable.sendEvent(Event) line: 87
ToolItem(Widget).sendEvent(Event) line: 1003
Display.runDeferredEvents() line: 3880
Display.readAndDispatch() line: 3473
Workbench.runEventLoop(Window$IExceptionHandler, Display) line: 2405
Workbench.runUI() line: 2369
Workbench.access$4(Workbench) line: 2221
Workbench$5.run() line: 500
Realm.runWithDefault(Realm, Runnable) line: 332
Workbench.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 493
PlatformUI.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 149
IDEApplication.start(IApplicationContext) line: 113
EclipseAppHandle.run(Object) line: 194
EclipseAppLauncher.runApplication(Object) line: 110
EclipseAppLauncher.start(Object) line: 79
EclipseStarter.run(Object) line: 368
EclipseStarter.run(String[], Runnable) line: 179
NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]
NativeMethodAccessorImpl.invoke(Object, Object[]) line: not available
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: not available
Method.invoke(Object, Object...) line: not available
Main.invokeFramework(String[], URL[]) line: 559
Main.basicRun(String[]) line: 514
Main.run(String[]) line: 1311
Main.main(String[]) line: 1287
我不知道该怎么做。我敢肯定,如果我理解了这个堆栈,我将能够修复它。
谁能看出问题所在?从 Eclipse 操作中启动 jar 是否有问题?
【问题讨论】:
标签: java eclipse plugins jar action