Java 如何使用intellij idea使jogl工作
我环顾四周,似乎不明白这一点。我正在尝试将JOGL(在win64上)设置为与IntelliJ IDEA一起使用,但无论我做什么,它似乎都不起作用。以下是我迄今为止所做的工作:Java 如何使用intellij idea使jogl工作,java,intellij-idea,jogl,Java,Intellij Idea,Jogl,我环顾四周,似乎不明白这一点。我正在尝试将JOGL(在win64上)设置为与IntelliJ IDEA一起使用,但无论我做什么,它似乎都不起作用。以下是我迄今为止所做的工作: 下载 将所有这些文件移动到它们自己的文件夹(称为JOGL): gluegen-rt.jar jogl-all.jar gluegen-java-src.zip jogl-java-src.zip gluegen-rt.dll jogl_desktop.dll nativewindow_awt.dll nativewind
- 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
import net.java.games.jogl.*代码>已添加
System.loadLibrary(“jogl”)代码>没有使用导入,它不起作用。感谢您的帮助
以下是我遵循的指南:
编辑:
根据CrazyCoder的请求,当我尝试使用import net.java.games.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:C:\..\Main.java:2:package net.java.games.jogl不存在
当我删除导入并尝试使用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)
奇怪的是,当我试图在命令行上用core.Main命令java-cp”/cygdrive/c/apps/JOGL/“运行它时,我得到了:
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就是我上面提到的):
我尝试将所有内容分开以使其更具可读性,如果很难理解,请原谅。如果您使用IDEA,那么将其作为maven项目来执行是有意义的,因为IDEA有很好的maven支持。只需将依赖项粘贴到您的pom.xml
即可从maven central获得:
<dependencies>
<dependency>
<groupId>org.jogamp.gluegen</groupId>
<artifactId>gluegen-rt-main</artifactId>
<version>2.0.2</version>
</dependency>
<dependency>
<groupId>org.jogamp.jogl</groupId>
<artifactId>jogl-all-main</artifactId>
<version>2.0.2</version>
</dependency>
<dependency>
<groupId>org.jogamp.jocl</groupId>
<artifactId>jocl</artifactId>
<version>2.0.2</version>
</dependency>
<dependency>
<groupId>org.jogamp.jocl</groupId>
<artifactId>jocl-main</artifactId>
<version>2.0.2</version>
</dependency>
<!-- audio -->
<dependency>
<groupId>org.jogamp.joal</groupId>
<artifactId>joal</artifactId>
<version>2.0.2</version>
</dependency>
</dependencies>
org.jogamp.gluegen
gluegen rt干管
2.0.2
org.jogamp.jogl
慢跑所有主要路线
2.0.2
org.jogamp.jocl
乔科尔
2.0.2
org.jogamp.jocl
乔斯梅因
2.0.2
org.jogamp.joal
乔尔
2.0.2
这就是我在玩JOGL时使用的方法,它非常有效。如果您使用IDEA,那么将其作为maven项目来做是有意义的,因为IDEA有很好的maven支持。只需将依赖项粘贴到您的pom.xml
即可从maven central获得:
<dependencies>
<dependency>
<groupId>org.jogamp.gluegen</groupId>
<artifactId>gluegen-rt-main</artifactId>
<version>2.0.2</version>
</dependency>
<dependency>
<groupId>org.jogamp.jogl</groupId>
<artifactId>jogl-all-main</artifactId>
<version>2.0.2</version>
</dependency>
<dependency>
<groupId>org.jogamp.jocl</groupId>
<artifactId>jocl</artifactId>
<version>2.0.2</version>
</dependency>
<dependency>
<groupId>org.jogamp.jocl</groupId>
<artifactId>jocl-main</artifactId>
<version>2.0.2</version>
</dependency>
<!-- audio -->
<dependency>
<groupId>org.jogamp.joal</groupId>
<artifactId>joal</artifactId>
<version>2.0.2</version>
</dependency>
</dependencies>
org.jogamp.gluegen
gluegen rt干管
2.0.2
org.jogamp.jogl
慢跑所有主要路线
2.0.2
org.jogamp.jocl
乔科尔
2.0.2
org.jogamp.jocl
乔斯梅因
2.0.2
org.jogamp.joal
乔尔
2.0.2
这就是我在玩JOGL时使用的,它非常有用。只需将JOGL-all.jar和gluegen-rt.jar放在类路径中,并将包含本机库的jar放在同一目录中即可。net.java.games.jogl来自jogl JSR 231(一个非常旧的版本),它不再被维护,而您下载了jogl 2。调整代码,使其与JOGL2一起工作
编辑:现在您可以使用一个JAR,jogamp-far.JAR。只要把它放到你的类路径中,它就可以工作了。这要容易得多 只需将jogl-all.jar和gluegen-rt.jar放在类路径中,并将包含本机库的jar放在同一目录中即可。net.java.games.jogl来自jogl JSR 231(一个非常旧的版本),它不再被维护,而您下载了jogl 2。调整代码,使其与JOGL2一起工作
编辑:现在您可以使用一个JAR,jogamp-far.JAR。只要把它放到你的类路径中,它就可以工作了。这要容易得多 用你得到的实际错误编辑文章。它编译吗?它在运行时会失败吗?有什么错误?附上带有的屏幕截图。用您得到的实际错误编辑帖子。它编译吗?它在运行时会失败吗?有什么错误?附上一个屏幕截图。