Ich möchte eine Befehlshandler-Klasse meines Eclipse-Plugins testen. Deshalb habe ich eine Instanz von IWorkbenchWindow im Konstruktor dieser Handler-Klasse injizieren wollen, weilEclipse-Plugin - Wie ein IWorkbenchWindow in den Konstruktor eines Befehlshandlers injiziert werden
PlatformUI.getWorkbench().getActiveWorkbenchWindow()
lässt mich mit einer Abhängigkeit von PlatformUI.
Allerdings habe ich versucht, diese
@Inject
public FindAndReplaceHandler(IWorkbenchWindow workbenchWindow) {
this.fWorkbenchWindow = workbenchWindow;
zu tun und dann wirft der Rahmen ein NoSuchMethodException beschwert, dass die FindAndReplaceHandler Klasse einen Konstruktor ohne Argumente nicht hat.
Meine Klasse FindAndReplaceHandler erweitert AbstractHandler und überschreibt
void execute(ExecutionEvent event)
(So verwende ich nicht die moderne Art und Weise mit den Anmerkungen @Execute und @CanExecute)
Meine Version von Eclipse ist: Version: Mars .2 (4.5.2). Ich habe mein Eclipse-Plugin-Projekt mit der Einstellung Eclipse-Version = "3.5 oder höher" erstellt. Aber vielleicht muss ich die e4-Tools installieren und mit ihnen arbeiten? Wie installiere ich sie?
Irgendwelche Ideen, wie ich dieses Problem lösen kann, werden geschätzt.