NoClassDefFoundError beim Starten einer Shell

Status
Nicht offen für weitere Antworten.
Hallo,

Um einem Fehler auf die spur zu kommen, wollte ich meinen treeviewer in einer einfachen java anwendung auf einer shell darstellen. Vorher hatte ich ihn in einer view von meiner rcp anwendung.

Ich habe dazu eine Klasse DndViewerShell welche von ApplicationWindow erbt.
Wenn ich jetzt allerdings das Programm starte bekomme ich eine "java.lang.NoClassDefFoundError: org/eclipse/core/runtime/IProgressMonitor"

Auch wenn ich alles auskommentiere. Also bloß ein Composite auf der shell erzeuge, kommt diese Exception. In meinem Build-Path habe ich folgende jars.
  • org.eclipse.core.runtime_3.4.0.v20080512
  • org.eclipse.jface_3.4.2.M20090107-0800
  • org.eclipse.swt.win32.win32.x86_3.4.1.v3452b

Fehlt da noch etwas. Ich bekomme keine Compilefehler, deswegen weiß ich nicht so recht wie ich den Fehler beheben soll.

Hier nochmal die komplette Exception.
Java:
java.lang.NoClassDefFoundError: org/eclipse/core/runtime/IProgressMonitor
Caused by: java.lang.ClassNotFoundException: org.eclipse.core.runtime.IProgressMonitor
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Exception in thread "main"

Und hier der Code der Mainklasse. Ich habe jetzt alles was mit dem Viewer zu tun hat entfernt, um es zu vereinfachen.

Java:
public class DNDViewerShell extends ApplicationWindow{

	public DNDViewerShell()	{
		super(null);		
	}
	
	public void run() {	  
	    setBlockOnOpen(true);	    
	    open();
	    Display.getCurrent().dispose();
	  }
	
	 protected void configureShell(Shell shell) {
		    super.configureShell(shell);
		    shell.setText("DND Tree Viewer");
		    shell.setSize(200, 400);
	}
	 
	 protected Control createContents(Composite parent) {
		    Composite composite = new Composite(parent, SWT.NONE);
			return composite;
	 }
	
	public static void main(String[] args) {
		new DNDViewerShell().run();
	}
}

Hänge das Programm auch nocheinmal an. Vielleicht kann es ja jemand mal ausprobieren und mir sagen was verkehrt ist. Habe es als Runnable Jar exportiert. Beim starten kommt dieselbe Fehlermeldung wie wenn ich es innerhalb eclipse starte.

Falls der Beitrag im falschen Unterforum ist bitte verschieben.
 
Eclipse PlugIns lassen sich nur schwierig ausserhalb des Frameworks ausführen. Das liegt unter anderem daran, das OSGi Bundles manchmal jar in jar verpackt sind und damit kommen normale Classloader nicht klar.
Warum willst du es nicht als Eclipse Application ausführen?
 
ich wollte drag and drop innerhalb eines TreeViewers realisieren.

Dies funktioniert aber leider bisher aus mir noch unbekannten Gründen nicht. Siehe Thread(88971-jface-drag-drop-problem.html

Jetzt wollte ich mal probieren ob ich den fehler eher finde, wenn ich den viewer nicht auf ner view in einem plugin habe sondern auf einem application window.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben