【问题标题】:Why is lwjgl missing from the classpath when doing gradle run?为什么在进行 gradle 运行时类路径中缺少 lwjgl?
【发布时间】:2012-03-31 23:30:54
【问题描述】:

谁能帮我让 gradle 正确包含 lwjgl?似乎依赖项被忽略了,因为当我执行 gradle 运行时 java 找不到库。

我有以下 maven 文件:

apply plugin:'groovy'
apply plugin:'application'

mainClassName = 'com.martz.zimplatformer.Game'

repositories {
    mavenCentral()
}

dependencies {
    groovy group: 'org.codehaus.groovy', name: 'groovy', version: '1.8.6'
    compile group: 'org.lwjgl.lwjgl', name: 'lwjgl', version: '2.+'
}

当我进行 gradle 运行时,我得到以下堆栈跟踪:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no lwjgl in java.library.path
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1758)
    at java.lang.Runtime.loadLibrary0(Runtime.java:823)
    at java.lang.System.loadLibrary(System.java:1045)
    at org.lwjgl.Sys$1.run(Sys.java:73)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.lwjgl.Sys.doLoadLibrary(Sys.java:66)
    at org.lwjgl.Sys.loadLibrary(Sys.java:95)
    at org.lwjgl.Sys.<clinit>(Sys.java:112)
    at org.lwjgl.opengl.Display.<clinit>(Display.java:135)

【问题讨论】:

    标签: classpath gradle lwjgl


    【解决方案1】:

    显然错误是由于 java 无法找到本机库。 maven 中有一个 lwjgl-platform 依赖项,但只是添加它并不会将 jvm 指向正确的本机库。从 lwjgl 网站下载本机库后,我通过在我的机器上添加一个硬编码路径到本机库来使其工作:

    run {
        jvmArgs = '-Djava.library.path=/path/to/native/macosx'
    }
    

    【讨论】:

      猜你喜欢
      • 2013-06-29
      • 2021-12-20
      • 2020-11-02
      • 2018-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-31
      相关资源
      最近更新 更多