swt einrichten

Status
Nicht offen für weitere Antworten.

kartofelbauer

Aktives Mitglied
moin,

ich möchte gern das SWT und JFACE einrichten
ich habe die entsprechenden Dateien in den Classpath genommen, das hat leider nicht funktioniert
hab sie nun über eclipse eingebunden wenn ich jetzt ein programm starten will bekomme ich folgende fehlermeldung :

no swt-win32-3139 in java.libary

wohin muss ich nun die entsprechende DLL kopieren oder wie kann ich das problem lösen ?

thx für hilfe :)
 

ronny

Bekanntes Mitglied
Hi!

Entweder legst du die Datei direkt in das Projekt-Verzeichnis oder
du legst es in ein Unterverzeichnis: z. B. /dll in deinem Projekt...
Da musst du dann noch folgenden Parameter bei den VM-Arguments
deiner run-config in eclipse hinzufügen:

-Djava.library.path=${project_loc}/dll
 
G

Gast

Gast
erstmal danke für die hilfe!
ich hab es leider noch nicht hin bekommen... :(

ich hab jetzt schon zwei versionen gehört deshalb noch zwei fragen:
muss ich den ÜBERGEORDNETEN ORDNER oder den ABSOLUTEN DATEINAMEN in die umgebungsvariable
a) PATH
b) Classpath

mitaufnehmen?? und muss ich dem compiler dann immer noch java.libary... sagen???
 

KSG9|sebastian

Top Contributor
Also...am schnellsten geht es, in dem du die swt-win32-xxxx.dll ins Windows\system32 kopierst.

Das ist aber nur zum entwickeln und testen gut, sobald das Programm rausgeht an irgendwelche Kunden _musst_ du die dll ins Projektverzeichniss kopieren und den Java Library Path auf die dll/den dell-Ordner zeigen lassen
 
G

Gast

Gast
hmmm es geht leider immer noch nicht :( ich habe bisjetzt folgendes gemacht :
die datei "swt.jar" zum installed JRE hinzugefügt
dann hab ich die DLL swt-win32-3138.dll in das root verzeichnis des projects kopiert

dann eine kleine classe geschrieben
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.*;


public class HelloSWTWorld {

public static void main(String args[]){

Display display = new Display();
Shell shell = new Shell();

Label label = new Label(shell, SWT.NONE);
label.setText("Hello SWT-World");
label.setBounds(10,10,100,100);
shell.pack();
shell.open();

while(!shell.isDisposed())
if(!display.readAndDispatch())
display.sleep();
display.dispose();
shell.dispose();
}

}

dann unter "run" VM-Arguments folgendes eingetragen :
-Djava.library.path=${project_loc}
bzw testweise auch
-Djava.library.path=c:\eclipse\workspace\test

und ich bekomme trotzdem noch den fehler hier:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no swt-win32-3138 in java.library.path

tut mir leid für das gespamme hier aber ich versteh nicht wieso das nicht funltioniert

ich habe auch schon versucht die DLL in ein unterverzeichnis zu kopieren und den libary.path daraufzuzeigen jedoch ohne erfolg :((((
 

kartofelbauer

Aktives Mitglied
so ich wollt hier nur hereinschreiben das,
wenn ich die klasse aus der kommandozeile aus aufrufe einwandfrei funktioniert nur leider nicht direkt in eclipse damit kann ich aber vorerst mal leben :)
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben