IntelliJ Maven项目有UnsatisfiedLinkError:找不到库:lwjgl.dll

时间:2018-01-25 15:56:13

标签: java maven intellij-idea dependencies lwjgl

我已将现有的多模块Maven项目导入IntelliJ。父项目本身构建并运行良好,但我试图自己运行其中一个模块(一个弹出查看器窗口)。当我这样做时,我收到了这个错误:

  

[LWJGL]无法加载库。可能的解决方案:
    a)将包含共享库的目录添加到-Djava.library.path或-Dorg.lwjgl.librarypath。     b)将包含共享库的JAR添加到类路径中   [LWJGL]使用-Dorg.lwjgl.util.Debug = true启用调试模式以获得更好的诊断。
  [LWJGL]使用-Dorg.lwjgl.util.DebugLoader = true启用SharedLibraryLoader调试模式以获得更好的诊断。
  线程" main"中的例外情况java.lang.UnsatisfiedLinkError:找不到库:lwjgl.dll

我不确定如何解决这个问题,我对整个项目的构建和运行方式感到困惑,但模块运行有问题。 lwjgl包含在pom.xml中,所以Maven不应该处理这种依赖吗?

2 个答案:

答案 0 :(得分:2)

所以我的问题结果是我在Windows计算机上,但我已经给出的项目配置了pom.xml,因此只下载了lwjgl native-macos jar。我通过编辑主pom.xml来修复此问题,以便为mac与windows包含两个单独的配置文件,并在分类器中将它们用于lwjgl依赖项。

在我弄清楚之前,我通过从https://www.lwjgl.org/download下载lwjgl zip,解压缩jar文件,并将它们存储为IntelliJ下的文件>中的库来找到解决方法。项目结构。 (我按照http://wiki.lwjgl.org/wiki/Setting_Up_LWJGL_with_IntelliJ_IDEA.html

的说明进行操作

答案 1 :(得分:1)

从这个链接:

http://forum.lwjgl.org/index.php?topic=6428.0

" lwjgl - * - natives- * jar文件应该添加为" Classes"而不是" Native Library Locations"。它们必须位于LWJGL的类路径中才能自动发现,提取和加载它们。 我认为"本地图书馆位置"在IntelliJ中,只有当它指向文件夹位置时,才能使用预先提取的本机库。它可能将这些文件夹作为路径传递给-Djava.library.path。 LWJGL也支持这一点,但这意味着你必须自己从jar中提取本机库。"

似乎你必须自己提取它们。

我对maven不是很熟悉,但是我会考虑配置它以进行设置,因此在通过Intellij进行配置检查它是否有效后,它会自动进入类路径。