Probleme mit JFace PreferenceStore

HuberDe

Mitglied
Hi,

ich weiß nicht ob ich zu bl.... bin, jedoch bekomme ich bei folgendem Code schon eine Exception:

Code:
....
private PreferenceStore preferenceStore = null;
	
protected IdeConfiguration()
{
	preferenceStore = new PreferenceStore("foo.properties");
}
....

Und zwar folgende Exception:

Code:
Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/core/commands/common/EventManager at java.lang.ClassLoader.defineClass1(Native Method)...

Es kann doch nicht so schwer sein, einen PreferenceStore zu initialisieren?

Danke .... :suspekt:
 
Hi Tom,

woher soll das ein normalsterblicher wissen? Ich hab das jetzt gemacht. Mein nächstes Problem scheint aber wieder so etwas zu sein:

Code:
Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/core/runtime/ISafeRunnable

Diesen Fehler hab ich auch schon bekommen, als ich ein Quellcodebeispiel ausm Netz getestet habe, welches mit dem PreferenceStore arbeitet!?

Und dann hab ich noch ne Frage. Ich gehe momentan so vor, dass ich mir in meinem Projektverzeichnis ein "lib" Verzeichnis angelegt habe, wo ich alle zusätzlichen Jar Files reinwerfe die ich sonst so im ClassPath stehen habe. Ist das so üblich oder wie macht man das normalerweise?

EDIT: Das mit der Exception hat sich erledigt. Musste die org.eclipse.equinox.common noch hinzufügen?! Die zweite Frage bleibt aber trotzdem noch aktuell ;-)

Danke ;-)
 
Zuletzt bearbeitet:
Hallo,

die Klasse org.eclipse.core.runtime.ISafeRunnable findest du unter Eclipse 3.3 im org.eclipse.equinox.common_xxx.jar.

Ansonsten brauchst du (i.d.R.) für JFace:
org.eclipse.core.boot_xxxx.jar
org.eclipse.core.commands_xxxx.jar
org.eclipse.core.jobs_xxxx.jar
org.eclipse.core.runtime_xxxx.jar
org.eclipse.core.jface_xxxx.jar
org.eclipse.core.swt_xxxx.jar
org.eclipse.core.swt_win32xxxx.jar
org.eclipse.equinox.common_xxxx.jar
org.eclipse.osgi_xxx.jar
org.eclipse.equinox.registry_xxx.jar

Gruß Tom
 
ja ok, aber woher weiß ich das als "Anfänger"? Das wird in der API ja nirgends erwähnt!? Und ist das mit meinen lib's so ok wie ich es mache oder wird das normalerweise anders gemacht?
 
Hab den Fehler gefunden! In der Manifest muss am Ende und am Anfang ein Leerzeichen sein! Das ist ja unglaublich

Code:
Manifest-Version: 1.0
Main-Class: Test
Class-Path: lib/swt.jar 
 lib/org.eclipse.osgi_3.2.0.v20060601.jar 
 lib/org.eclipse.equinox.common_3.2.0.v20060603.jar 
 lib/org.eclipse.equinox.registry_3.2.0.v20060601.jar 
 lib/org.eclipse.core.commands_3.2.0.I20060605-1400.jar 
 lib/org.eclipse.core.runtime_3.2.0.v20060603.jar 
 lib/org.eclipse.core.boot_3.1.100.v20060603.jar 
 lib/org.eclipse.core.jobs_3.2.0.v20060603.jar 
 lib/org.eclipse.jface_3.2.0.I20060605-1400.jar 
 lib/org.eclipse.jface.databinding_1.0.0.I20060605-1400.jar 
 lib/org.eclipse.jface.text_3.2.0.v20060605-1400.jar 
 lib/jaxen-core.jar 
 lib/jaxen-jdom.jar 
 lib/jdom.jar

Wenn am Ende der jeweiligen Zeile kein Leerzeichen ist, dann wird der Rest wohl nicht eingebunden!

Gruß, Denis
 
Hi Thomas,
ich darf doch fragen wo du die folgende Datei her hast?

org.eclipse.core.jface_xxxx.jar
org.eclipse.core.swt_xxxx.jar
org.eclipse.core.swt_win32xxxx.jar

Gruß

heinrich
 
Zurück