【发布时间】:2013-04-14 02:30:46
【问题描述】:
我环顾四周,似乎无法弄清楚这一点。我正在尝试设置 JOGL(在 win64 上)以与 IntelliJ IDEA 一起使用,无论我做什么,它似乎都不起作用。这是我到目前为止所做的:
- 已下载this
- 将所有这些文件移动到它们自己的文件夹中(称为 JOGL):
- gluegen-rt.jar
- jogl-all.jar
- gluegen-java-src.zip
- jogl-java-src.zip
- gluegen-rt.dll
- jogl_desktop.dll
- nativewindow_awt.dll
- nativewindow_win32.dll
- newt.dll
- 进入项目结构并将 JOGL 文件夹作为库添加到模块中
- 尝试运行带有导入的模块:添加了
import net.java.games.jogl.*;
我还尝试在不使用导入的情况下运行代码行System.loadLibrary("jogl");,但没有成功。任何帮助表示赞赏。
这些是我关注的指南:
- http://jogamp.org/wiki/index.php/Downloading_and_installing_JOGL
- http://jogamp.org/wiki/index.php/Setting_up_a_JogAmp_project_in_your_favorite_IDE
编辑:
根据 CrazyCoder 的要求,当我尝试使用我提到的 import net.java.games.jogl.*; 进行编译时,我得到:
java: C:\....\Main.java:2: package net.java.games.jogl does not exist
当我删除导入并尝试在插入 System.loadLibrary("jogl"); 行的情况下运行它时,我得到:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no jogl in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1738)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1028)
at core.Main.main(Main.java:15)
奇怪的是,当我尝试在命令行上使用命令java -cp "/cygdrive/c/apps/JOGL/" core.Main 运行它时,我得到:
java.lang.NoClassDefFoundError: core/Main
Caused by: java.lang.ClassNotFoundException: core.Main
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: core.Main. Program will exit.
Exception in thread "main"
如果我不使用 -cp "/cygdrive/c/apps/JOGL/" 运行它,它可以正常工作(如实际运行并给我与 IDE 相同的结果,但也会以相同的方式失败)。
下面是我的模块依赖的截图(JOGL就是我上面提到的):
我尝试将所有内容分开以使其更具可读性,如果难以理解,请见谅。
【问题讨论】:
-
使用您遇到的实际错误编辑帖子。它编译吗?运行时会失败吗?有什么错误?附上dependencies configuration的截图。
标签: java intellij-idea jogl