Credo che questo sia un problema abbastanza comune quando si usano librerie che fanno uso delle jni tuttavia la ricerca sul forum non mi ha aiutato.
Ho un connector da java a db firebird (jaybird) che è composto da due file, il jar con le classi e la solita dll esterna al jar. Ora se uso la libreria includendo il jar e la nella stessa cartella in cui si trova la classe da cui la uso nessun problema, ma se sposto al libreria e la dll dentro una sottocartella lib appare la solita fastidiosa eccezione java.lang.UnsatisfiedLinkError: no jaybird2 in java.library.path. Ho provato in ogni modo ad impostare la variabile library path e la cosa funziona se la imposto in maniera statica coem argomento alla jvm del tipo -Djava.library.path=path_assoluto_libreria.
Io però vorrei poter impostare dinamicamente a runtime la variabile e soprattutto mi piacerebeb farlo da codice. Ho già provato roba del tipo
e numerose varianti ma nulla! Qualcuno sa aiutarmi?codice:currPath = Class.forName("AppFrame").getProtectionDomain(). getCodeSource().getLocation().getPath().toString(); System.setProperty("java.library.path",currPath + "lib");