Почему lwjgl отсутствует в пути к классам при выполнении Gradle Run? - PullRequest
2 голосов
/ 01 апреля 2012

Может кто-нибудь помочь мне заставить 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)

1 Ответ

1 голос
/ 01 апреля 2012

Видимо, ошибка связана с тем, что Java не может найти собственные библиотеки. В maven существует зависимость от платформы lwjgl, но простое ее добавление не указывает jvm на правильные нативные библиотеки. Я заработал, добавив жестко заданный путь к собственным библиотекам на моей машине после загрузки собственных библиотек с веб-сайта lwjgl:

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