找不到Java3D类

找不到Java3D类,java,osx-mountain-lion,java-3d,Java,Osx Mountain Lion,Java 3d,我正在尝试运行一个Java应用程序,得到以下错误消息。应用程序本身加载正确,只是它的某些部分出现了故障 Nov 13, 2012 2:43:53 PM org.jdesktop.application.Task failed SEVERE: My.Application$9@7c4f8358 failed: java.lang.NoClassDefFoundError: javax/media/opengl/GLCapabilitiesChooser java.lang.NoClassDefFo

我正在尝试运行一个Java应用程序,得到以下错误消息。应用程序本身加载正确,只是它的某些部分出现了故障

Nov 13, 2012 2:43:53 PM org.jdesktop.application.Task failed
SEVERE: My.Application$9@7c4f8358 failed: java.lang.NoClassDefFoundError: javax/media/opengl/GLCapabilitiesChooser
java.lang.NoClassDefFoundError: javax/media/opengl/GLCapabilitiesChooser
at jpl.mipl.jade.jadis.agile2d.swing.JOGLPluggableRenderer.notifyBeforeSetRootPane(JOGLPluggableRenderer.java:105)
at jpl.mipl.jade.jadis.StereoJFrame.setRootPane(StereoJFrame.java:264)
at javax.swing.JFrame.frameInit(JFrame.java:236)
at javax.swing.JFrame.<init>(JFrame.java:159)
at jpl.mipl.jade.jadis.StereoJFrame.<init>(StereoJFrame.java:172)
at StereoWS.DSStereoFrame.<init>(DSStereoFrame.java:70)
at StereoWS.StereoWSView$9.doInBackground(StereoWSView.java:1067)
at org.jdesktop.swingworker.SwingWorker$1.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at org.jdesktop.swingworker.SwingWorker.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.ClassNotFoundException: javax.media.opengl.GLCapabilitiesChooser
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 14 more
2012年11月13日下午2:43:53 org.jdesktop.application.Task失败
严重:我的申请$9@7c4f8358失败:java.lang.NoClassDefFoundError:javax/media/opengl/GLCapabilitiesChooser
NoClassDefFoundError:javax/media/opengl/GLCapabilitiesChooser
位于jpl.mipl.jade.jadis.agile2d.swing.JOGLPluggableRenderer.notifyBeforeSetRootPane(JOGLPluggableRenderer.java:105)
位于jpl.mipl.jade.jadis.StereoJFrame.setRootPane(StereoJFrame.java:264)
位于javax.swing.JFrame.frameInit(JFrame.java:236)
在javax.swing.JFrame。(JFrame.java:159)
位于jpl.mipl.jade.jadis.StereoJFrame.(StereoJFrame.java:172)
在StereoWS.DSStereoFrame。(DSStereoFrame.java:70)
在StereoWS.StereoWSView$9.doInBackground(StereoWSView.java:1067)
位于org.jdesktop.swingworker.swingworker$1.call(未知来源)
位于java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
位于java.util.concurrent.FutureTask.run(FutureTask.java:138)
位于org.jdesktop.swingworker.swingworker.run(未知源)
位于java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
运行(Thread.java:680)
原因:java.lang.ClassNotFoundException:javax.media.opengl.GLCapabilitiesChooser
位于java.net.URLClassLoader$1.run(URLClassLoader.java:202)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.net.URLClassLoader.findClass(URLClassLoader.java:190)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:306)
位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 14多
我运行的是完全更新的OSX10.8,我安装了JDK7,沮丧的是安装了苹果的Java开发工具。该程序依赖于许多外部库,但这些库是随jar提供的,我相信程序在运行时确实会在分发目录中查找它们(但我相信这些错误不是由这些包引起的)。据我所知,运行应用程序所需的一切要么已经安装,要么在jar可以找到它的地方


我不知道我还需要做些什么来建立一个我还没有做过的环境,所以如果有人能提出一些建议,我洗耳恭听!我将提供所需的任何额外信息,但我不知道有什么帮助-我无论如何都不是Java大师。

我相信您使用的是来自旧Oracle站点的Java3D jar和最新的JogAmp JOGLv2,这不起作用,原因有两个:a)jogl.jar现在改名为jogl-all.jar B)内部名称空间更改,所有com.sun.*类现在都可以在com.jogamp.*下找到,这将混淆需要com.sun.*命名空间的旧Java3D代码

JOGL和Java3D现在都由JogAmp社区的成员维护: 行动背景: 目前使用Java3D唯一受支持的方法是将社区维护的Java3D与最新的JogAmp JOGL v2结合使用

关于如何结合JOGLv2设置最新社区维护的Java3D的教程。 Julien Gouesse:Java3D是一个很好的例子[Java3D回来了]

谢谢,我按照页面上的说明下载了罐子,并将它们放在一个文件夹中。然后,我在Netbeans中将非“本机”添加到我的类路径中,现在我得到了以下错误:
java.lang.NoClassDefFoundError:javax/media/opengl/GLCanvas
您已经混合了一些仍然使用JOGL1的代码和一些使用JOGL2.0的代码。在最新版本的JOGL2.0中,依赖AWT的GLCanvas已被移动到javax.media.opengl.AWT包中,最新版本的Java3D(1.6.0之前)使用JOGL2.0。在您的配置中仍然有一些JAR指向依赖JOGL1的类。我的教程很有效,我用Netbeans 7.2.1、Eclipse 4.3开普勒M2测试了它,但没有IDE。您应该检查您的计算机上是否已经安装了过时的Java3D版本作为扩展,它可能会与最新版本冲突。