如何将本机库添加到类路径中。 (JNA)

时间:2017-09-13 01:06:17

标签: java java-native-interface classpath jna

来自JNA Javadoc:

  图书馆搜索路径   搜索给定的库将扫描以下位置:   

  1. jna.library.path用户可自定义的路径   
  2. jna.platform.library.path特定于平台   路径
  3. 在OSX上,~/Library/Frameworks,   /Library/Frameworks,和   我会搜索/System/Library/Frameworks   具有与所请求的名称对应的名称的框架。绝对   框架的路径也被接受,或者以框架结束   name(sans" .framework")或共享框架的完整路径   库(例如CoreServices.framework / CoreServices)。   
  4. Context类加载器类路径。部署本机库   可以安装在类路径下   ${os-prefix}/LIBRARY_FILENAME,在哪里   ${os-prefix}Platform.getNativeLibraryResourcePrefix()返回的OS / Arch前缀。   如果捆绑在jar文件中,则将资源提取到   jna.tmpdir用于加载,后来被删除(但仅限于   jna.nounpack是假的或未设置)。
你可以   设置系统属性jna.debug_load=true以生成JNA   将其库搜索的步骤打印到控制台。

第4点说,即使我不添加库,也可以从类路径加载库。我的问题是这些库(对于我的示例OpenGL32.dll)如何最终在java类路径上,以及如何判断类路径中是否包含指定的库。

0 个答案:

没有答案