PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : SWT mit Eclipse entwickeln??



Lin728
31-10-2002, 18:21
Ich versuche jetzt schon seit geraumer Zeit, in Eclipse ein SWT-Project zu kompilieren.
Obwohl ich in Menü->Windows-Preferences->Java->Classpath die beiden SWT-Jars (swt.jar, swt-pi.jar) eingetragen habe, irgnoriert er das und sagt mir, das er die swt-imports nicht findet.

Ach ja, noch was: Der JBuilder sagt mir, dass er einen Unsatisfied.Link.Error hat, weil die datei libswt.so nicht im Java.library.path liegt. Nur wo ist der java.librar.path und wie kann ich ihn setzten?
Bietet der JBuilder dafür einen Dialog an, oder muss ich das ganze per export auf der Bash machen?

set|grep JAVA_LIBRARY_PATH sagt, dass diese Variable leer oder inexistent ist, weil kein Output kommt....

Mfg

peschmae
01-11-2002, 07:39
der JAVA_LIBRARY_PATH ist afaik unter Linux dem LD_LIBRARY_PATH gleichzusetzen

MfG Peschmä

P.S. swt-pi.jar ist mir noch nie begegnet. Ich brauche immer nur swt.jar, oder sind da etwa noch erweiterungen drin?

Lin728
02-11-2002, 19:02
Hast du ne Ahnung, warum er mir das SWT-Zeugs nicht kennt?
Wie hast du denn SWT zu deinem Classpath in clipe hinzugefügt?

peschmae
04-11-2002, 12:10
also bei mir gehts halt einfach, seit ich die Dinger in die entsprechenden Variablen (CLASSPATH für das Jar und LD_LIBRARY_PATH für die so) eingetragen habe...

evtl. machst du noch was bei den Projekteinstellungen oder so

ich habe allerdings derzeit die motif - version (du glaubich gtk2), weil ich als gtk2 noch gar nicht installiert hab

MfG Peschmä

HotSpott
16-08-2004, 17:43
Ich hab jetzt mit etwas Haengen und wuergen ein SWT Prog starten koennen. Hab da aber noch ein paar Fragen.

Habe das Verzeichniss mit den swt jars in meinem ClassPath. Es dunktioniert aber erst wenn ich in den
ClassPath die einzelnen jars eingefuehgt habe. Obwohl sie alle drei in einem Verzeichniss liegen? Das
wiederstrebt mir irgendwie. Wenn die Variable classPATH heisst wieso reicht es dann nicht nur den Pfad
der jars anzugeben???

Auf der Komandozeile bekomme ich das starten hin indem ich mit der Option

-Djava.library.path=/home/matrix/eclipse/eclipse/plugins/org.eclipse.swt.gtk_3.0.0/os/linux/x86 Counter

der vm sage wo sie die so datein suchen soll. In Eclipse bekomme ich das aber leider nicht gebacken.
Gebe ich dort obigen Parameter der vm mit, so wird dieser um

${build_project:

erweitert und beim ausfuehren meckert er dann:

Variable references non-existent resource : ${build_project:-Djava.library.path=/home/matrix/eclipse/eclipse/plugins/org.eclipse.swt.gtk_3.0.0/os/linux/x86}

peschmae
16-08-2004, 19:07
Der Name CLASSPATH sagt dass das der PATH ist wo die .class-Dateien liegen. Wenn du also /home/user/blabla dem Classpath hinzufügst, dann findet Java alle .class-Dateien in diesem Ordner.
Jars werden nur gefunden wenn du die Datei dem CLASSPATH hinzufügst - wie du selber schon bemerkt hast. In dem Falle gehört das Jar auch zum Pfad - die .class-Dateien. Die sind nämlich im Jar. (Wenn du von transparenter Dekompression im Hintergrund ausgehst wie sie z.B. im Konqueror geschieht (oder irre ich mich da, ich nutze den selten) ist das dann durchaus logisch.

Ich denke der Hauptgrund ist Speed. Wenn du nur diejenigen Jars im Classpath hast die du auch brauchst muss er wohl oft weniger suchen als wenn er einfach alle Jars durchsuchen muss.

Statt
-Djava.library.path=/home/matrix/eclipse/eclipse/plugins/org.eclipse.swt.gtk_3.0.0/os/linux/x86 Counter
zu verwenden kannst du auch - wie früher in dem Thread beschrieben - den Ordner dem LD_LIBRARY_PATH (oder wohl auch der /etc/ld.so.conf) hinzufügen. Unter Windows musst du statt LD_LIBRARY_PATH den PATH verwenden.

MfG Peschmä