我正在尝试在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问题
删除与GLCapabilities
和GLCanvas
相关的行,并提供
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项目中的构建路径本身就解决了这个问题(我不敢相信我没想到先做这个......)。我仍然不确定我做错了什么。
答案 0 :(得分:2)
仅供参考,在我的一个JOGL SBT项目中,我需要添加:
到依赖项列表,以使其工作。我的猜测是你必须在Eclipse中的构建路径中包含这些。
可从此存储库获取:http://jogamp.org/deployment/maven