Eclipse中的Scala / JOGL错误:加载X时缺少依赖项(GLCanvas等)

时间:2012-08-29 04:36:16

标签: eclipse scala jogl

我正在尝试在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时出现

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

     加载GLContext时出现

错误,缺少依赖关系'类   com.jogamp.common.util.locks.RecursiveLock',G:\ Eclipse \ workspace \ JOGL \ jogl-all.jar(javax / media / opengl / GLContext.class)所需的Scala JOGL未知Scala问题

删除与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发布版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项目中的构建路径本身就解决了这个问题(我不敢相信我没想到先做这个......)。我仍然不确定我做错了什么。

1 个答案:

答案 0 :(得分:2)

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

  • gluegen-rt.jar中
  • gluegen-RT-当地人-的.jar
  • JOGL-所有-2.0-rc9.jar
  • JOGL-所有-2.0-RC9本地人-的.jar

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

可从此存储库获取:http://jogamp.org/deployment/maven