PDA

View Full Version : [JAVA] java.library.path


daxdaxdax
15-11-2011, 23:24
Ciao a tutti,
ho fatto una breve applicazione in java su windows con l'ausilio di una libreria che dovrebbe darmi accesso alla porta parallela, permettendomi di gestire i singoli pin di quest'ultima.

Mi si solleva un'eccezione durante debug:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no parport in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1734)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1028)
at light.Main.main(Main.java:37)
Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)

Cosa dovrei fare? :help:

IDE: Netbeans 6.9.1
OS: Win7 x64

Gimli[2BV!2B]
15-11-2011, 23:46
Se non ricordo male le opzioni sono (non ho codice sotto mano ed è un po' che non ci litigo):
usare System.loadLibrary("NomeDll"); (senza estensione) mettendo la dll nella cartella in cui si esegue il comando java, oppure in uno dei percorsi elencati dalla variabile d'ambiente PATH (http://www.java.com/en/download/help/path.xml)
usare System.load("c:/PERCORSO/Completo/FILE.dll");
specificare la cartella in cui si trova la dll nel comando java: java -Djava.library.path=c:\POSIZIONE\FileDLL TuaApplicazione


Dettagli di cui tener conto:

se la dll dipende da altre dll (http://www.dependencywalker.com/) che a loro volta non si trovano nei PATH di sistema occorre caricarle preventivamente nell'ordine corretto
JVM 32 bit -> dll dev'essere 32 bit
JVM 64 bit -> dll dev'essere 64 bit

daxdaxdax
16-11-2011, 18:06
Mi sono dimenticato di dire che la libreria in questione è di tipo JAR, cambia molto?

manu0087
17-11-2011, 23:13
ciao,
hai importato libreria correttamente?
usi netbeans o eclipse?

daxdaxdax
19-11-2011, 10:44
ciao,
a quwsro punto non sono tanto sicuro di aver fatto correttamente.
Uso netbeans su windows.