【问题标题】:IntelliJ Maven project has UnsatisfiedLinkError: failed to locate library: lwjgl.dllIntelliJ Maven 项目有 UnsatisfiedLinkError: failed to locate library: lwjgl.dll
【发布时间】:2018-01-25 15:56:13
【问题描述】:

我已将现有的多模块 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 调试模式以获得更好的诊断。
线程“主”java.lang.UnsatisfiedLinkError 中的异常:无法找到库:lwjgl.dll

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

【问题讨论】:

    标签: java maven intellij-idea dependencies lwjgl


    【解决方案1】:

    所以我的问题原来是我在 Windows 计算机上,但我得到的项目配置了 pom.xml,因此只下载了 lwjgl native-macos jars。我通过编辑主 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的说明进行操作)

    【讨论】:

      【解决方案2】:

      从此链接:

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

      “lwjgl-*-natives-* jar 文件应添加为“类”,而不是“本地库位置”。它们必须位于类路径中,LWJGL 才能自动发现、提取和加载它们。 我认为 IntelliJ 中的“本机库位置”仅在它指向文件夹位置时才有效,并带有预提取的本机库。它可能会将这些文件夹作为路径传递给-Djava.library.path。 LWJGL 也支持这一点,但这意味着您必须自己从 jar 中提取本机库。”

      看来你必须自己提取它们..

      我对 maven 不太熟悉,但我会考虑配置它来设置它,以便在通过 Intellij 配置它检查它是否工作后,它会自动位于类路径上。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-05-04
        • 1970-01-01
        • 2011-11-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多