簡體   English   中英

如何使intellij的想法慢跑工作

[英]How to make jogl work with intellij idea

我環顧四周,似乎無法弄清楚。 我正在嘗試將JOGL(在win64上)設置為與IntelliJ IDEA一起使用,無論我做什么都似乎不起作用。 到目前為止,這是我所做的:

  1. 下載了這個
  2. 將所有這些文件移動到它們自己的文件夾(稱為JOGL)中:
    • 膠水
    • jogl-all.jar
    • gumgen-java-src.zip
    • jogl-java-src.zip
    • 膠原rt文件
    • jogl_desktop.dll
    • nativewindow_awt.dll
    • nativewindow_win32.dll
    • newt.dll
  3. 進入項目結構並將JOGL文件夾作為庫添加到模塊
  4. 嘗試通過導入運行模塊: 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM