2

我正在尝试在我的 Mac 上编译和运行 Java3D 项目,但遇到了一些麻烦。我正在使用 Eclipse。该程序依赖于旧版本的 Java3D,但即使我在 Eclipse 中添加了正确的 Jars,它仍然在默认系统位置中查找。

在 Eclipse 中运行我的程序时,我遇到了这个问题:

线程“AWT-EventQueue-0”中的异常 java.lang.NoSuchMethodError: javax.media.j3d.BranchGroup.pickAllSorted(IILjavax/media/j3d/PickShape;)[Ljavax/media/j3d/PickInfo; 在 com.sun.j3d.utils.pickfast.PickTool.pickAllSorted(PickTool.java:410)

BranchGroup.pickAllSorted 在 Mac 默认 JRE 系统库 (JVM 1.6.0) 中不存在,但它确实存在于我包含的正确 JAVA3D jar 中。我已将它们添加到我的构建路径中,并且它们在 Properties-Java Build Path-Order and Export 中的 JRE 系统库上方被引用。这似乎应该是解决方案,但它不起作用。

我已经尝试了一段时间,但无法让它工作。我有一个可能的线索是尝试将 .jars 放在 /Library/Java/Extensions 中。当我这样做时,我得到一个 OpenGL 错误并且我的程序根本没有打开,但它在做一些我猜的事情。

谢谢您的帮助。

4

2 回答 2

4

在 Eclipse 中,转到Run > Run Configurations > Your Main > Arguments > VM Arguments并添加-Xbootclasspath/p:newjava3d.jar. 这会将 newjava3d.jar 添加到您的引导类路径中,因此将从中加载相关的类。

于 2010-12-14T22:43:35.953 回答
0

启动程序时,尝试使用-Xbootclasspath-Xbootclasspath/a开关将你的 jars 添加到类路径中。请参阅 java 工具文档。

于 2010-12-14T22:09:42.967 回答