Salve a tutti, ho una classe java cosi' definita:
Che utilizza la dll SerialProtocolLib.dll scritta in C++ con Visual Studio 2005.codice:package it.serialLibJNI; public class SerialLibJNI { public native int openConnection(int device, int baud, int parityCheck, int rtsFlowControl); public native int closeConnection(); public native int writeMessage(byte[] msg, int tot); public native byte[] readMessage(int tot); static{ System.load("D://ProgettiSandro//lib//SerialProtocolLib.dll"); } }
Accedendo alla dll con System.load e istanziando la classe in un'altra con il main tutto funziona.
Io vorrei pero' usare la loadLibrary.
Se nella classe io scrivo:
Mi viene presentato quest'errore:codice:static{ System.loadLibrary("D://ProgettiSandro//lib//SerialProtocolLib.dll"); }
Exception in thread "main" java.lang.UnsatisfiedLinkError: no D://ProgettiSandro//lib//SerialProtocolLib.dll in java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at it.serialLibJNI.SerialLibJNI.<clinit>(SerialLibJNI .java:10)
at it.serialLibJNI.ProvaLib.main(ProvaLib.java:20)
Domanda 1)
come faccio ad usare la loadLibrary? Dove devo mettere la dll? Io sto lavorando su Eclipse 3.3.1
Domanda 2)
io vorrei fare un jar con la classe di cui sopra e la DLL in modo da mettere il jar in un progetto e usare i metodi della classe che, tramite JNI, accedono alla dll: si puo' fare? Come devo inserire la dll nel jar?
Ciao e grazie a chi rispondera'
Sandro

Rispondi quotando
... leggerla?).