IntelliJ,JInput和java.library.path

时间:2018-03-27 20:21:47

标签: java jna jogl jinput

我正在处理一个同时使用Jogl和JInput的java项目,我在IntelliJ中工作。我在应用程序无法找到各种DLL时遇到一些问题。我知道推荐的方法是将DLL解压缩到一个文件夹,然后将java.library.path指向该文件夹。有没有办法以某种方式将这些库包含在项目配置中?我从jCenter中提取这些文件,而我只是指出jar文件并让JNA完成它的工作。

1 个答案:

答案 0 :(得分:0)

我使用下面的方法在某个对象需要DLL之前动态设置路径。它被称为如下:

setDllLibraryPath("C:/yourPathToDLLs")

设置库路径的方法

public static void setDllLibraryPath(String resourceStr) {
    try {
        System.setProperty("java.library.path", resourceStr);

        Field fieldSysPath = ClassLoader.class.getDeclaredField("sys_paths");
        fieldSysPath.setAccessible(true);
        fieldSysPath.set(null, null);//next time path is accessed, the new path will be imported
    } catch (Exception ex) {
        ex.printStackTrace();
        throw new RuntimeException(ex);
    }
}