J'essaie d'utiliser la bibliothèque de communications série rxtx 64 bits (téléchargée à partir de cloudhopper) avec Windows 7 et Eclipse 64 bits. Je reçois le message: Java.lang.UnsatisfiedLinkError: no rxtxSerial in Java.library.path
. Les dll sont dans le répertoire /jre/lib
ainsi que le Windows/System32
. Le RXTXcomm.jar
se trouve dans le chemin de construction d'Eclipse ainsi que dans le répertoire jre/lib/ext
. J'ai exécuté le moniteur de processus en arrière-plan et je vois que RXTXcomm.jar
, rxtxSerial.dll
et rxtxParallel.dll
ont tous été trouvés et ont été ouverts. Je ne comprends donc pas vraiment pourquoi ce problème se produit.
Aucune suggestion.
Allez dans Projet -> Propriétés -> Chemin de construction Java -> Trouvez votre .jar. Cliquez sur + pour ouvrir les propriétés du fichier JAR . Sélectionnez l'emplacement de la bibliothèque native et modifiez-le pour qu'il pointe vers la bibliothèque partagée de RXTX (.DLL, .so, .dylib).
Vous pouvez installer le paquet librxtx-Java
à partir du référentiel pour Ubuntu.
Vous pouvez également ajouter un argument de machine virtuelle:
-Djava.library.path=c:\path\to\dll\
ou
-Djava.library.path=/path/to/lib/
Cela a fonctionné pour moi. Reportez-vous également à cette question .
Utilisateur Windows: mon problème était en fait de placer les fichiers rxtxSerial.dll et rxtxParallel.dll dans le mauvais répertoire.
Dans mon cas, ils se trouvaient dans [...]/jdk1.7.0_09/bin/au lieu de [...]/jre7/bin/, bien que les chemins puissent différer pour différentes versions de Java. .
Après tout, c’est logique, si nous voulons que notre JAR fonctionne en dehors de notre IDE, nous devons avoir les dll dans notre environnement Java, et non dans notre environnement de développement :)
Je résous ce problème en ajoutant rxtxSerial.dll [jre 1.8.0_45/bin] et RxTxcomm.jar [jre 1.8.0_45/lib/ext]
Hy, j'ai eu le même problème lors de l'intégration du RXTXcomm dans Netbeans sous Ubuntu 11.10 . Je suppose que vous ne copiez pas les fichiers au bon endroit, du moins c'était mon problème.
Sous Ubuntu, Java est installé sous usr/lib/jvm. MAIS j'ai eu beaucoup de bûcherons (ex - Java-7-openjdk-i386 , Java-7-common , Java-6-openjdk ...). Dans Netbeans, je vérifie quel est le chemin du JDK inclus dans le projet: c’est Java-7-openjdk-i386 . donc j'ai pris le fichier rxtxSerial.so (sous Windows, il s'agit de rxtxSerial.dll) et je l'ai copié dans Java-7-openjdk-i386/jre/bin et cela a fonctionné comme un charme.
J'espère que ça aide.
J'avais le même problème même après l'installation du fichier RXTXcomm.jar dans le répertoire Java\jdk\lib. D'après les instructions de http://www.jcontrol.org/download/readme_rxtx_en.html J'ai localisé les fichiers rxtxSerial.dll et rxtxParallel.dll. Les placer dans le répertoire bin n'a pas aidé, mais les placer dans le répertoire lib avec le fichier RXTXcomm.jar a résolu le problème.
J'ai eu le même problème. J'ai donc installé JDK 32 bits et ajouté ces fichiers RxTx
(x86) au dossier Program files (x86)/Java/... au lieu de Program files/Java ... folder. J'ai aussi ajouté ces fichiers RxTx .dll (x86) au dossier/System32 . Après cela, le problème a été résolu dans mon application.
FIXED:
lorsque vous utilisez IDE tels que Netbeans, il possède son propre répertoire pour le JRE. Si vous avez probablement installé vos pilotes RXTX, mais lorsque vous exécutez le fichier JAR en dehors de votre IDE, cette erreur se produit ... - Solution installez les pilotes RXTX également dans le répertoire JRE Java qui permet d’exécuter tous vos fichiers JAR.
Sous Netbeans 5.5 sous Windows, je devais cliquer avec le bouton droit de la souris sur Bibliothèques sous Projets sur le côté gauche de l'écran et sélectionnez "Ajouter JAR/Dossier", en choisissant le fichier RXTXcomm.jar. Seulement alors mon
enter code here
devenir une commande valide . En outre, j'ai eu une erreur d'exécution où il n'a pas pu charger le fichier La bibliothèque rxtxSerial.DLL car elle n’a pas pu le trouver. J'avais besoin de Cliquez avec le bouton droit sur le nom du projet, sélectionnez Propriétés, sélectionnez Exécuter sous catégories, et ajoutez un VM Options: entrée de
-Djava.library.path = "C:\fichier-où-tout-jamais-bloqué-rxtxSerial.DLL;% PATH%
Exemple:
-Djava.library.path="C:\rxtx-2.1-7-bins-r2\Windows\i368-mingw32\;%PATH%"
Bien que je sois sûr, il existe plus d’une façon d’ajouter le répertoire à votre chemin, cela a fonctionné pour moi. Notez que j'ai utilisé le NetBeans 5.5/JDK par défaut 1.6.0 n'accepte pas toutes les options par défaut (c'est-à-dire en cliquant sur Suivant jusqu'à la fin), donc je n'ai pas modifié mes chemins Java ou quoi que ce soit . Vous pouvez également copier le fichier * .dll dans C:\Windows\System32 \, Java le trouvera là automatiquement.
Notez que vous ne pouvez pas utiliser le fichier DLL 32 bits lors de l'exécution d'un JRE 64 bits: Vous obtiendrez une erreur semblable à celle-ci:
Can't load IA 32-bit .dll on a AMD 64-bit platform thrown while loading gnu.io.RXTXCommDriver
Pour résoudre ce problème, installez simplement le JDK 32 bits et ajoutez une nouvelle plate-forme dans Netbeans sous Outils-> Plateformes Java-> Ajouter une plate-forme et modifiez le fichier paramètres du projet pour utiliser la plate-forme nouvellement créée. assurez-vous de taper
"import gnu.io.*"
from http://rxtx.qbang.org/wiki/index.php/Using_RXTX_In_NetBeans
J'ai eu le même problème, sur Windows 10 et Eclipse, le problème était que j’avais Java pour 32 et 64 bits, donc j’ai installé la bibliothèque RXTX pour 64 bits, mais Eclipse utilisait l’environnement Java 32 bits; 32 bits copient les fichiers nécessaires dans C: ProgramFilesx86/Java_HOME comme indiqué dans les instructions pour RXTX et le problème a été résolu. J'espère que cela aide quelqu'un.