【问题标题】:Scala/JOGL error in Eclipse: Missing Dependencies while loading X (GLCanvas etc.)Eclipse 中的 Scala/JOGL 错误:加载 X 时缺少依赖项(GLCanvas 等)
【发布时间】:2012-08-23 15:38:49
【问题描述】:

我正在尝试在 Eclipse 中将 JOGL 与 Scala 一起使用,但作为 JOGL/Scala 新手,我遇到了一些我无法确定的依赖错误。谷歌搜索并没有返回任何有用的东西。

我已经建立了一个 Java JOGL 项目 Setting_up_a_JogAmp_project_in_your_favorite_IDE.

在依赖于上述项目的Java项目中编译如下Java类

import javax.media.opengl.GLProfile;
import javax.media.opengl.GLCapabilities;
import javax.media.opengl.awt.GLCanvas;

public class Game {

    public static void main(String[] args) {
        GLProfile glp = GLProfile.getDefault();
        GLCapabilities caps = new GLCapabilities(glp);
        GLCanvas canvas = new GLCanvas(caps);

        System.out.println("Hello World");
    }
}

正常工作,并按预期输出Hello World

但是,制作一个Scala项目并尝试使用JOGL项目如下

import javax.media.opengl.GLProfile;
import javax.media.opengl.GLCapabilities;
import javax.media.opengl.awt.GLCanvas;


object Game {
    def main (args: Array[String]): Unit = {
        val glp = GLProfile.getDefault();
        val caps = new GLCapabilities(glp);
        val canvas : GLCanvas = new GLCanvas(caps);

        System.out.println("Hello World"); 
    }
}

甚至无法编译,因为 Eclipse 会通知我以下错误:

加载 CapabilitiesImmutable 时出错,缺少 G:\Eclipse\workspace\JOGL\jogl-all.jar(javax/media/nativewindow/CapabilitiesImmutable.class) 所需的依赖项 'class com.jogamp.common.type.WriteCloneable' Scala JOGL 未知的 Scala 问题

加载 GLCanvas 时出错,缺少依赖项 'class com.jogamp.common.util.locks.RecursiveLock',这是 G:\Eclipse\workspace\JOGL\jogl-all.jar(javax/media/opengl/awt/ GLCanvas.class) Scala JOGL 未知的 Scala 问题

加载 GLContext 时出错,缺少依赖项 'class com.jogamp.common.util.locks.RecursiveLock',G:\Eclipse\workspace\JOGL\jogl-all.jar(javax/media/opengl/GLContext.class) 要求 Scala JOGL Unknown Scala Problem

删除与GLCapabilitiesGLCanvas 相关的行,给出

object Game {
    def main (args: Array[String]): Unit = {
        val glp = GLProfile.getDefault();


        System.out.println("Hello World"); 
    }
}

编译并打印Hello World

我的问题是 - 为什么 Scala 代码不起作用,我可以做些什么来解决它?我是否在做一些我不应该做的混合 JOGL 和 Scala 代码的疯狂巫术?是不是忘记添加一些依赖了?

版本信息

Eclipse:(版本:Juno Release Build id:20120614-1722

Eclipse 的 Scala IDE:(版本:2.1.0.nightly-2_09-201208290312-cc63a95) (提供者:scala-ide.org

JOGL 作为 JOGAMP 的一部分发布 2.0-rc10

编辑: 好的,将gluegen-rt.jar 和jogl.jar 库添加到Scala 项目本身的构建路径中解决了这个问题(我不敢相信我没有想到先这样做......)。不过,我仍然不确定自己做错了什么。

【问题讨论】:

    标签: eclipse scala jogl


    【解决方案1】:

    仅供参考,在我的一个 JOGL SBT 项目中,我需要添加:

    • gluegen-rt.jar
    • gluegen-rt-natives-.jar
    • jogl-all-2.0-rc9.jar
    • jogl-all-2.0-rc9-natives-.jar

    添加到依赖项列表以使其正常工作。我的猜测是你必须在 Eclipse 的构建路径中包含这些。

    这些可以从这个存储库中获得:http://jogamp.org/deployment/maven

    【讨论】:

      猜你喜欢
      • 2019-05-25
      • 2020-12-09
      • 1970-01-01
      • 2011-05-14
      • 2015-08-31
      • 2014-12-11
      • 2018-03-05
      • 1970-01-01
      相关资源
      最近更新 更多