RxTx installation unter windows java.lang.NoClassDefFoundError: gnu/io/CommPort
Legte ich rxtxcomm.jar
in jre/lib/ext
Ordner, aber ich bekomme immer noch NoClassDefFoundError
Ist nicht in diesem Ordner automatisch in den globalen classpath?
Dank
- Die einzige vernünftige Antwort wäre, dass die
JRE
Sie mit Ihrem Programm nicht die gleichenJRE
Sie denjar
- Datei in. - könntest du post exception stacktrace. es ist möglich, dass Sie sich setzen RXTXcomm.jar an der richtigen Stelle, aber Sie hatte nicht, sofern der Pfad zu dem externen Bibliotheken
- siehe bitte aktualisieren, Sie könnte besser gehen mit jssc, je nach Wunsch
- Danke ich werde es versuchen
- Ich habe das gleiche problem -> stackoverflow.com/questions/36762416/... .Wenn Sie geklärt deine, jede mögliche Hilfe würde geschätzt.
- Ich überarbeitete mein Projekt mit JSSC und ich alle Probleme gelöst.
Du musst angemeldet sein, um einen Kommentar abzugeben.
ja, es ist automatisch auf classpath, aber die RXTXcomm verwendet JNI /native externe Bibliotheken (.also und .dll-Dateien), müssen Sie den Pfad zu Ihnen, wenn Sie mit Ihrem Programm in der Kommandozeile:
für linux:
angenommen, Sie entpackt die rxtx.zip zu
/home/user/
wenn du 32bit x86 platofrm:
wenn Sie 64-bit-x86-Plattform die es:
für windows:
angenommen, Sie heruntergeladen und entpackt es C:\rxtxt
Wenn Sie finden es umständlich, es zu tun aus der Befehlszeile Sie können es von yout code (vor öffnung-port über RXTXcomm):
EDIT:
natürlich, Sie müssen RXTXcomm.jar in der classpath-zusätzlich zu allen oben genannten. Bei Ausführung über die Befehlszeile als jar verpackt-Programm - yourprogram.jar - im inneren des jar, müssen Sie ein META-INF-Ordner, die enthält MANIFESTIEREN.MF mit der folgenden Einträge:
und yourprogram.jar muss im Ordner die Ordner " lib " in die RXTXcomm.jar auch
die Klasse mit
Methode muss aufgerufen werden, Haupt-und Wohnsitz in einem Paket mit dem Namen pkg (ersetzen Sie einfach pkg.Main mit, was Sie haben).
Dann können Sie Ihr Programm erfolgreich und öffnen Sie eine serielle Schnittstelle, wenn Sie eine haben. Dieser Ansatz eliminiert die Notwendigkeit, alles kopieren, in jre/lib/ext Ordner
EDIT^2:
oder, wenn Sie nicht wollen, pack dein Programm in jar, positionieren Sie sich im Ordner, der den Ordner enthält pkg und schreiben:
(alle Pfade relativ oder absolut)
EDIT^3:
aber ich würde empfehlen, Java-Simple-Serial-Connector statt RXTXcomm: