Я работаю над java-проектом, который использует как Jogl, так и JInput, и я работаю в IntelliJ. У меня проблемы с тем, что приложение не может найти различные библиотеки DLL. Я знаю, что рекомендуемый способ - извлечь библиотеки DLL в папку, а затем указать java.library.path в этой папке. Есть ли способ как-то включить эти библиотеки в конфигурацию проекта? Я беру эти файлы из jCenter, и я бы предпочел просто указать файлы jar и позволить JNA делать свою работу.




Я использую этот метод ниже для динамической установки пути непосредственно перед тем, как 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);
}
}
Какую версию JOGL вы используете? Сам JOGL не использует JNA, он использует GlueGen (который полагается на JNI). Я советую вам использовать jogamp-fat.jar, если вам действительно нужно очень простое решение (несмотря на некоторые ограничения). Если вы находитесь в очень ограниченной среде, я боюсь, что вам придется использовать java.library.path и отключить автоматическую загрузку собственной библиотеки (см. Руководство пользователя JOGL).