2010-03-03 79 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

相关问题