【问题标题】:JOGL Opengl WriteCloneable in eclipseJOGL Opengl WriteCloneable 在 Eclipse 中
【发布时间】:2012-07-29 14:37:47
【问题描述】:

我关注this tutorial

虽然我做的和教程完全一样,但我还是看了视频。 即使我尝试了其他教程。但是我所有的尝试,我每次都得到那个错误。

当我点击运行时,会显示一个错误框和“发生 Java 异常”。

我在 consol 中看到了错误

Exception in thread "main" java.lang.NoClassDefFoundError: com/jogamp/common/type/WriteCloneable
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$100(Unknown Source)
...

即使我卸载了 jdk&jre 并下载了最新版本并安装。 我正在使用 Eclipse,Windows 7 家庭高级版 64 位。

【问题讨论】:

    标签: java opengl jogl


    【解决方案1】:

    起初,他的教程包含几个错误,我已经在他的 Youtube 视频的 cmets 中抱怨过。我建议您使用our wiki 中的官方教程,如果您需要帮助,请通过official forum 与我们联系。

    您的环境可能有问题,或者您使用 32 位版本和 64 位 JVM。如果您不知道应该将哪些 JAR 用于本机库,只需将两者都拿走,让 GlueGen 选择正确的。

    【讨论】:

      【解决方案2】:

      确保在项目中添加所有 4 个库,像这样。

      -lib
          --gluegen-rt.jar
          --gluegen-rt-natives-windows-amd64.jar
          --jogl-all.jar
          --jogl-all-natives-windows-amd64.jar
      

      这对我有用:)

      【讨论】:

        【解决方案3】:

        您的类路径似乎有问题,因为未找到 WriteCloneable 类 - 构建路径中可能缺少您需要的一个或多个 jar。

        在 Eclipse 中:右键单击您的项目/属性/Java 构建路径/库选项卡。检查您需要的 JOGL 库是否都在那里。

        【讨论】:

        • 我检查了这千次。 glugen-rt-natives-windows-i586.jar 胶水-rt.jar jogl-all-natives-windows-i586.jar jogl.all.jar
        • 您的环境中可能有一些脏东西(类路径中相同 JAR 的多个版本或环境变量指向另一个版本或某些二进制文件取决于另一个版本)导致 Java 运行二进制文件库的错误版本。如果你使用 64 位 JVM,你应该使用gluegen-rt-natives-windows-amd64.jar 而不是gluegen-rt-natives-windows-i586.jar(对JOGL 也一样)。
        【解决方案4】:

        遇到了同样的问题。我通过添加 glagegen 的依赖项来解决它。首先我只有:

            <dependency>
                <groupId>org.jogamp.jogl</groupId>
                <artifactId>jogl-all-main</artifactId>
                <version>2.3.2</version>
            </dependency>
        

        这解决了问题:

            <dependency>
                <groupId>org.jogamp.gluegen</groupId>
                <artifactId>gluegen-rt-main</artifactId>
                <version>2.3.2</version>
            </dependency>
        

        【讨论】:

          【解决方案5】:

          我找到了解决办法。

          如果你得到 JVMUtil 或 WriteCloneable 错误并出现 NoClassDefFoundError,你必须将这 4 个库 jar 复制到 java/jre/lib/ext 文件夹。

          谢谢你的破旧。

          【讨论】:

          • 不,这是一个错误的解决方案,它甚至会破坏您的环境,这是一个非常糟糕的建议。切勿将 JAR 复制到 jre/lib/ext 中,否则如果 applet 或应用程序使用相同的库但在另一个版本中,则会导致冲突。
          猜你喜欢
          • 1970-01-01
          • 2013-01-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多