I'm trying to figure out how to program OpenGL in Java, but when I ran the tutorial here, with all the libraries loaded (I think) correctly, as it was able to import the libraries, it gave me this weird error:

"C:\Program Files\Java\jdk1.7.0_25\bin\java" -Didea.launcher.port=7532 "-Didea.launcher.bin.path=C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 12.1.4\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.7.0_25\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.7.0_25\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.7.0_25\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.7.0_25\jre\lib\jce.jar;C:\Program Files\Java\jdk1.7.0_25\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.7.0_25\jre\lib\jfxrt.jar;C:\Program Files\Java\jdk1.7.0_25\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.7.0_25\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.7.0_25\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.7.0_25\jre\lib\resources.jar;C:\Program Files\Java\jdk1.7.0_25\jre\lib\rt.jar;C:\Program Files\Java\jdk1.7.0_25\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.7.0_25\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.7.0_25\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.7.0_25\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.7.0_25\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.7.0_25\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.7.0_25\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.7.0_25\jre\lib\ext\zipfs.jar;C:\Code\Java\Games\Rust\out\production\Rust;C:\Code\Java\Libraries\jogamp-all-platforms\jar\joal.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\jocl.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\gluegen.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\jogl-all.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\joal-test.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\jogl-test.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\gluegen-rt.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\joal-android.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\jogl-all-noawt.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\jogl-all-mobile.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\jogl-all-android.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\joal-test-android.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\jogl-test-android.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\gluegen-rt-android.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\joal-natives-linux-i586.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\jocl-natives-linux-i586.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\joal-natives-linux-amd64.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\joal-natives-linux-armv6.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\jocl-natives-linux-amd64.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\jocl-natives-linux-armv6.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\joal-natives-solaris-i586.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\joal-natives-windows-i586.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\jocl-natives-solaris-i586.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\jocl-natives-windows-i586.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\joal-natives-android-armv6.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\joal-natives-linux-armv6hf.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\joal-natives-solaris-amd64.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\joal-natives-windows-amd64.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\jocl-natives-android-armv6.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\jocl-natives-linux-armv6hf.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\jocl-natives-solaris-amd64.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\jocl-natives-windows-amd64.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\jogl-all-natives-linux-i586.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\jogl-all-natives-linux-amd64.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\jogl-all-natives-linux-armv6.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\gluegen-rt-natives-linux-i586.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\joal-natives-macosx-universal.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\jocl-natives-macosx-universal.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\jogl-all-natives-solaris-i586.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\jogl-all-natives-windows-i586.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\gluegen-rt-natives-linux-amd64.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\gluegen-rt-natives-linux-armv6.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\jogl-all-natives-android-armv6.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\jogl-all-natives-linux-armv6hf.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\jogl-all-natives-solaris-amd64.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\jogl-all-natives-windows-amd64.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\gluegen-rt-natives-solaris-i586.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\gluegen-rt-natives-windows-i586.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\gluegen-rt-natives-android-armv6.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\gluegen-rt-natives-linux-armv6hf.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\gluegen-rt-natives-solaris-amd64.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\gluegen-rt-natives-windows-amd64.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\jogl-all-natives-macosx-universal.jar;C:\Code\Java\Libraries\jogamp-all-platforms\jar\gluegen-rt-natives-macosx-universal.jar;C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 12.1.4\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain SimpleScene
Catched FileNotFoundException: C:\Code\Java\Libraries\jogamp-all-platforms\jar\gluegen-natives-windows-amd64.jar (The system cannot find the file specified), while addNativeJarLibsImpl(classFromJavaJar class com.jogamp.common.os.Platform, classJarURI jar:file:/C:/Code/Java/Libraries/jogamp-all-platforms/jar/gluegen.jar!/com/jogamp/common/os/Platform.class, nativeJarBaseName gluegen-natives-windows-amd64.jar): [ file:/C:/Code/Java/Libraries/jogamp-all-platforms/jar/gluegen.jar -> file:/C:/Code/Java/Libraries/jogamp-all-platforms/jar/ ] + gluegen-natives-windows-amd64.jar -> slim: jar:file:/C:/Code/Java/Libraries/jogamp-all-platforms/jar/gluegen-natives-windows-amd64.jar!/
Exception in thread "main" java.lang.UnsatisfiedLinkError: Can't load library: C:\Code\Java\Games\Rust\gluegen-rt.dll
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1846)
    at java.lang.Runtime.load0(Runtime.java:795)
    at java.lang.System.load(System.java:1061)
    at com.jogamp.common.jvm.JNILibLoaderBase.loadLibraryInternal(JNILibLoaderBase.java:551)
    at com.jogamp.common.jvm.JNILibLoaderBase.access$000(JNILibLoaderBase.java:64)
    at com.jogamp.common.jvm.JNILibLoaderBase$DefaultAction.loadLibrary(JNILibLoaderBase.java:96)
    at com.jogamp.common.jvm.JNILibLoaderBase.loadLibrary(JNILibLoaderBase.java:414)
    at com.jogamp.common.os.DynamicLibraryBundle$GlueJNILibLoader.loadLibrary(DynamicLibraryBundle.java:388)
    at com.jogamp.common.os.Platform$1.run(Platform.java:203)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.jogamp.common.os.Platform.<clinit>(Platform.java:173)
    at javax.media.opengl.GLProfile.<clinit>(GLProfile.java:82)
    at SimpleScene.main(SimpleScene.java:8)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)

Process finished with exit code 1

Anyone know what's wrong with it?

有帮助吗?

解决方案

I didn't cut out the unneeded files. You can see the list of files to use here.

其他提示

I had the same problem.

In addition to adding the Jars files, you also need to set the dll directory when configure your interface. At User Libraries window (here is Eclipse), expanding each one of the Jars, edit the native library location. When asked for the directory, go to the folder containing the .dlls files. (probably will be /lib)

I followed this tutorial: http://sites.google.com/site/justinscsstuff/jogl-tutorial-1 and this forum: http://forum.jogamp.org/Jar-reference-td3346099.html

Good lucky!

Rename file gluegen-rt-natives-windows-amd64.jar in the jogl installation directory to gluegen-natives-windows-amd64.jar. It's weird that for some reason the runtime tries to load file gluegen-natives-windows-amd64.jar instead of gluegen-rt-natives-windows-amd64.jar

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top