3
votes

I am doing a CIMTool project, for a handle of WorkbenchWindow

Code Snippet

import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.PlatformUI;
//(both these Classes are present in Libraries)
IWorkbenchWindow window=PlatformUI.getWorkbench().getActiveWorkbenchWindow();

Issues

Following Error is slapped

Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/e4/ui/model/application/ui/MUIElement at org.eclipse.ui.PlatformUI.getWorkbench(PlatformUI.java:90)

Environment

Eclipse : Eclipse Java EE IDE for Web Developers, Version: Juno Service Release 2 OS : MS Windows 7 Professional, X86 Java Version : java version "1.7.0_25"

Questions

  • I tried searching for org/eclipse/e4/ui/model/*, I could not find in Archives. Where I can find ?
  • Is there any otherway to get IWorkbenchWindow Instance ? (want to avoid this issue)

This problem I found that, doesnt appear in Java Indigo. But my project has to be developed in Eclipse , so I cant migrate.

thanks

1
Is this in an Eclipse plugin or headless application? You can only use IWorkbenchWindow in a plugin (or headless app), it will not work in an ordinary Java program. - greg-449

1 Answers

0
votes

I also was confronted with this error when executing code from within a project that was created as "SWT/JFace Java Project" using Eclipse Kepler (displaying a ListSelectionDialog).

The main problem is that the project set-up misses a JAR file that contains the MUIElement class. You can easily fix the project set-up by editing the build-path, adding the external jar which has a name similar to this one:

org.eclipse.e4.ui.model.workbench_1.0.1.v20131118-1956.jar.

You find that jar in the plugins directory of your Eclipse installation.