[英]How to make jogl work with intellij idea
我環顧四周,似乎無法弄清楚。 我正在嘗試將JOGL(在win64上)設置為與IntelliJ IDEA一起使用,無論我做什么都似乎不起作用。 到目前為止,這是我所做的:
import net.java.games.jogl.*;
添加 我還嘗試運行代碼行System.loadLibrary("jogl");
沒有使用導入,它是行不通的。 任何幫助表示贊賞。
這些是我遵循的指南:
編輯:
根據CrazyCoder的要求,當我嘗試使用import net.java.games.jogl.*;
進行編譯時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是我上面提到的內容):
我試圖將所有內容分開以使其更具可讀性,如果難以理解,對不起。
如果您使用的是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>
這就是我在與JOGL一起玩時使用的方式,並且可以治療。
只需將jogl-all.jar和gumgen-rt.jar放入您的類路徑中,然后將包含本機庫的JAR放入同一目錄中。 net.java.games.jogl來自JOGL JSR 231(一個非常老的版本),在您下載JOGL 2時不再維護。請修改您的代碼使其可與JOGL 2一起使用。
編輯:現在您可以使用單個JAR,即jogamp-far.jar。 只需將其放入您的類路徑中即可。 這要容易得多。 這些說明在我們的Wiki中 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.