RXTX library in Jar einbinden

Steff87

Aktives Mitglied
Guten Morgen zusammen!😀

Ich schreibe gerade an einem Programm, das mir Daten von der seriellen Schnittstelle liest und schreibt. Dazu verwende ich die RXTXcomm.jar mit den dazugehörigen .dlls. Die dll's müssen ja in das Java installationsverzeichnis kopeirt werden.
Nun meine Frage:
Kann man das auch irgendwie anders lösen? zum beispiel gleich mit in die Jar-Datei packen?

Danke schon mal
 
Du kannst die Bibliothek auch in einen beliebigen Pfad legen und bei dem Start deines Java-Programms diesen Pfad über die Option [c]-Djava.library.path=/dein/pfad/zur/lib[/c] bekannt machen. Oder du machst es wie SWT (oder war es JNA?) - die versuchen zunächst, die Bibliothek zu laden. Schlägt dies fehl, so wird die im jar enthaltene Bibliothek in eine temporäre Datei entpackt und anschließend von dort aus mit dem absoluten Pfad geladen.
 
Danke!
Die frage hat sich erledigt.
Wenn die Jar mit der Option "Package requiered libraries into generated jar" erstellt geht das auch so. Zumindest bei mir.
Ich gebe also keine Garantie darauf, dass es immer funktioniert.
 
Zuletzt bearbeitet:
Fremde .jars kannst du über die Kommandozeilenoption [c]-cp[/c] hinzufügen. Alternativ ließen sich jars im Manifest deines Jards eintragen oder du könntest sie während der Laufzeit laden (URLClassLoader ist das Stichwort).
 
Hat doch nicht allzu lange funktioniert. Hab jetzt eine kleines Batch-File geschrieben, dass mir die .dll hinzufügt.
Code:
java -Djava.library.path OrdnerMitDLL -jar executableJar
Das ist ein ausschnitt, der den wichtigsten Befehl beinhaltet.
Mit -Djava.library.path setzt man den lib-path zum Ordner, der die DLL beinhaltet. Danach hab ich halt gleich meine execJar.
Kann ja jeder, der das braucht dementsprechend ändern.

Danke an alle die mir geholfen haben
 

Zurück
Oben