2013-02-19 12 views
10

Sto sviluppando un'applicazione in Java usando Eclipse IDE. Il mio sistema operativo è Ubuntu 11. La mia applicazione utilizza la libreria RXTX (gnu.io. *) per la comunicazione seriale. Ho aggiunto il file RXTXomm.jar nel progetto facendo ciò (progetto-> Proprietà-> percorso java buld-> aggiungi jar esterni). ogni volta che eseguo il mio codice mi dà questo errore.Come aggiungere rxtxSerial in java.library.path?

java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path thrown while loading 
gnu.io.RXTXCommDriver 
Exception in thread "main" java.lang.UnsatisfiedLinkError: no rxtxSerial in 
java.library.path 

Ho anche provato a installare librxtx-java.deb. ma non ha risolto il problema. Ho cercato nel file system e ho trovato che librxtxSerial.so si trova in/usr/lib/jni.

Come posso risolvere questo problema?

Grazie in anticipo

risposta

15

Trova il tuo vaso in Project -> Proprietà -> Java percorso di generazione. Fare clic su + per aprire le proprietà del JAR, selezionare la posizione della libreria nativa e modificarla per fare riferimento alla libreria condivisa di RXTX (.DLL, .so, .dylib).

+0

grazie un uomo molto ha funzionato perfettamente! –

+3

Come lo faresti in Netbeans? – DevilCode

+2

Non lo so, non sono un utente di net bean. Cerca SO, Google, ... Se non risponde, crea una nuova domanda (anziché un commento). – martijno

2

Un metodo consiste nell'impostare java.library.path nella configurazione di esecuzione di Eclipse per il progetto. È possibile modificare gli argomenti VM nella scheda Argomenti della configurazione di esecuzione (un paio di modi per accedere a questo includono il tasto destro del mouse su progetto-> Esegui come-> Esegui configurazioni ... e dal menu Esegui-> Esegui configurazioni ...).

Se si crea una directory lib nella root del progetto e si inserisce una copia della libreria RXTX nella directory lib, è possibile utilizzare il seguente argomento VM (sostituendo ProjName con il nome del progetto).

-Djava.library.path=${project_loc:ProjName}/lib 
+0

Modificato per aggiungere alcune opzioni per ottenere la configurazione di esecuzione per il tuo progetto. La risposta di @martijno fornisce un risultato più rapido e pulito, ma a volte preferisco in questo modo perché rende le cose più visibili, in particolare quando si inseriscono più dipendenze. – kevind7

2

Apri terminale (Ctrl + Alt + T) e verificare:

echo $JAVA_HOME 
# JDKDIR : /usr/lib/jvm/java-7-oracle 

quindi eseguire:

sudo cp /usr/lib/jni/librxtxSerial.so $JAVA_HOME/jre/lib/i386/ 
+0

Aggiungi virgolette intorno a '' "$ JAVA_HOME/jre/lib/i386 /" '' –

Problemi correlati