使用JNA,文檔中說:如何使目標庫可用於我的Java應用程序?
使您的目標庫可用於您的Java程序。有兩種方法可以做到這一點:首選方法是將
jna.library.path
系統屬性設置爲目標庫的路徑。此屬性與java.library.path
類似,但僅適用於由JNA加載的庫。
這實際上是什麼意思?我如何設置jna.library.path
系統屬性?我的應用程序需要引用Kernel32.dll
感謝
使用JNA,文檔中說:如何使目標庫可用於我的Java應用程序?
使您的目標庫可用於您的Java程序。有兩種方法可以做到這一點:首選方法是將
jna.library.path
系統屬性設置爲目標庫的路徑。此屬性與java.library.path
類似,但僅適用於由JNA加載的庫。
這實際上是什麼意思?我如何設置jna.library.path
系統屬性?我的應用程序需要引用Kernel32.dll
感謝
您可以使用參數「-D」設置系統屬性,當你調用命令行上的Java虛擬機:
java -Djna.library.path=<path to your library> MainClass
您也可以在應用程序啓動時以編程方式在代碼中設置它,例如從一個配置文件:
System.setProperty("jna.library.path", <path to your library>);
我沒有用JNA自己,所以我不知道它實際上是爲時已晚的JVM,當你在代碼中設置值。在這種情況下,請選擇第一個選項。
謝謝,你能解釋'MainClass'條款是什麼意思嗎?這需要引用我的應用程序的入口點嗎? – MalcomTucker 2010-03-03 11:14:14
all working thanks – MalcomTucker 2010-03-03 11:24:54
是的,MainClass是入口點,即帶'main()'方法的類。 – 2010-03-03 13:49:53
你說的是JNI,但是你提供的片段提到了JNA。這些是在Java中使用本地庫的兩種不同選項。 – pajton 2010-03-03 11:00:39