2010-03-03 32 views
4

使用JNA,文檔中說:如何使目標庫可用於我的Java應用程序?

使您的目標庫可用於您的Java程序。有兩種方法可以做到這一點:首選方法是將jna.library.path系統屬性設置爲目標庫的路徑。此屬性與java.library.path類似,但僅適用於由JNA加載的庫。

這實際上是什麼意思?我如何設置jna.library.path系統屬性?我的應用程序需要引用Kernel32.dll

感謝

+1

你說的是JNI,但是你提供的片段提到了JNA。這些是在Java中使用本地庫的兩種不同選項。 – pajton 2010-03-03 11:00:39

回答

9

您可以使用參數「-D」設置系統屬性,當你調用命令行上的Java虛擬機:

java -Djna.library.path=<path to your library> MainClass

您也可以在應用程序啓動時以編程方式在代碼中設置它,例如從一個配置文件:

System.setProperty("jna.library.path", <path to your library>); 

我沒有用JNA自己,所以我不知道它實際上是爲時已晚的JVM,當你在代碼中設置值。在這種情況下,請選擇第一個選項。

+0

謝謝,你能解釋'MainClass'條款是什麼意思嗎?這需要引用我的應用程序的入口點嗎? – MalcomTucker 2010-03-03 11:14:14

+0

all working thanks – MalcomTucker 2010-03-03 11:24:54

+0

是的,MainClass是入口點,即帶'main()'方法的類。 – 2010-03-03 13:49:53

相關問題