Probleme mit JFace Einstieg

  • Themenstarter Themenstarter Tobias Köhler
  • Beginndatum Beginndatum
T

Tobias Köhler

Hallo Leute. Um mir die Arbeit mit SWT leichter zu machen, möchte ich jetzt JFace verwenden. Das Problem liegt in den Imports... für diesen Code
Java:
package de.tutorials;

import org.eclipse.jface.window.ApplicationWindow;
import org.eclipse.swt.widgets.Display;

public class JFaceExample {

	public static void main(String[] args) 
	{
		 ApplicationWindow w = new ApplicationWindow(null);
		 w.setBlockOnOpen(true);
		 w.open();
		 Display.getCurrent().dispose();
	}
}
wird eine Exception geworfen:
Code:
Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/core/runtime/IProgressMonitor
	at de.tutorials.JFaceExample.main(JFaceExample.java:10)
Wenn ich nun org.eclipse.core.runtime.* importiere, wird diese Klasse aber dennoch nicht gefunden, anscheindend ist das nicht enthalten...
Was mach ich falsch?
 
Du machst gar nichts falsch :)

Das ist warum ich JFace nicht so wirklich mag. Es hat verdammt viele Abhängigkeiten zu eclipse Internen Paketen was meiner Meinung nach Architekturtechnisch nicht so schön gelöst ist.

Gehe einfach in deinen eclipse plugins Ordner und suche dir das org.eclipse.core.runtime_xxxx.jar und kopiere dieses mit zu deinem Projekt.

Wahrscheinlich wird er dann paar andere Sachen nicht finden, also geht das Spielchen noch eine Weile. Aber man kommt irgendwann zum Ende ;)

Es gibt ansonsten auch Dependency Analyse Tools als Plugin für eclipse die dir zeigen was für Abhängigkeiten die Jars in deinem Projekt noch so haben.
 
Das witzige daran ist: Ich habe jetzt alles im BuildPath, was irgendwo JFace und Core im Namen enthält(und das sind so einige^^) und dennoch: es gibt bei mir keine Klasse in diesen Paketen mit dem Namen IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor)
Was kann ich da jetzt machen.... Also ernsthaft, bisher gefällt mir JFace kein bißchen^^ Wenn es mir die Arbeit nicht um einiges leichter macht(was ich aber glaube) dann kann ich auch gut drauf verzichten;)
 
Vom Namen des Pakets auf das Jar schliessen klappt leider nicht immer....

Der IProgressMonitor befindet sich im org.eclipse.equinox.common_xx.jar
 
DANKE :) :) :) Das wars, jetzt läufts endlich.... Herrje, darauf erstmal kommen^^
edit: Was soll eigentlich diese Einstellung, dass ich zeja erst wieder bewerten darf, sobald ich jemand anderen bewertet habe?;)
 
Hi,

ich hänge am selben Problem.
Hab schon gedacht ich hätte die Lösung endlich gefunden :-(
Bei mir hilft das einbinden aber nix, bekomme immernoch die Fehlermeldung

Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/core/runtime/Assert
at org.eclipse.jface.window.Window.<init>(Window.java:279)
at org.eclipse.jface.window.Window.<init>(Window.java:263)
at org.eclipse.jface.window.ApplicationWindow.<init>(ApplicationWindow.java:236)
at TestKlasse.main(TestKlasse.java:10)

Bin diverse Tutorials durchgegangen und find einfach nicht den Fehler.

Gruß
 
Zurück