Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用intellij idea使jogl工作_Java_Intellij Idea_Jogl - Fatal编程技术网

Java 如何使用intellij idea使jogl工作

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

我环顾四周,似乎不明白这一点。我正在尝试将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
    • nativewindow_win32.dll
    • newt.dll
  • 转到项目结构并将JOGL文件夹作为库添加到模块中
  • 尝试使用导入运行模块:
    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。只要把它放到你的类路径中,它就可以工作了。这要容易得多

    用你得到的实际错误编辑文章。它编译吗?它在运行时会失败吗?有什么错误?附上带有的屏幕截图。用您得到的实际错误编辑帖子。它编译吗?它在运行时会失败吗?有什么错误?附上一个屏幕截图。