0

问题如下,在 jzy3d demo ScatterDemo.java 启动过程中:

Exception in thread "main" java.lang.NoClassDefFoundError: javax/media/opengl/GLProfile
at org.jzy3d.chart.Settings.<init>(Settings.java:19)
at org.jzy3d.chart.Settings.getInstance(Settings.java:48)
at org.jzy3d.analysis.AnalysisLauncher.open(AnalysisLauncher.java:18)
at org.jzy3d.analysis.AnalysisLauncher.open(AnalysisLauncher.java:13)
at org.jzy3d.demos.scatter.ScatterDemo.main(ScatterDemo.java:16)
Caused by: java.lang.ClassNotFoundException: javax.media.opengl.GLProfile
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 5 more
Java Result: 1

配置为 NetBeans 7.3.1、jzy3d-api-0.9.1、jzy3d-swt-0.9.1、log4j-1.2.17、gluegen-rt(最新稳定)、jogl-all(最新稳定)、JDK1.7

我知道以下更改(将所有 javax.media.opengl 移动到 com.jogamp.opengl,https: //jogamp.org/bugzilla/show_bug.cgi?id=682 )。我已经完成了将 .jar 文件包含到项目中的常规过程。

项目编译正常,不运行。

我的问题是:我可以以某种方式将 javax.media.opengl.* 重定向到 com.jogamp.opengl.* 吗?解决此问题的正确方法是什么?

4

1 回答 1

0

正如您在此处看到的,即使是 master 分支 (0.9.2) 上的代码也不是基于最新版本的 JOGL。请让 Martin Pernollet 进行必要的更改(将 javax.media.* 替换为 com.jogamp.*)或自己进行。您可以重建 Jzy3d 以使用导入子句的修改对其进行测试。这是解决这个简单问题的正确方法。

于 2015-08-03T14:40:54.943 回答