0

在 Eclipse 3.4 中,我尝试对大型产品进行一些性能测试,其中包含的库之一是 Java3D 项目中的 vecmath.jar(javax.vecmath 包)。一切正常,然后在昨天尝试运行它时,我在启动后不久就收到了这个异常/错误:

java.lang.UnsupportedClassVersionError: javax/vecmath/Point2f (Unsupported major.minor version 49.0)

我相信这意味着我正在尝试将 java 1.5 类文件加载到不受支持的 1.4 jvm 中。但是,当我去类文件检查这个时,我在 eclipse 类文件查看器中看到了这个:

Compiled from Point2f.java (version 1.2 : 46.0, super bit)

所以类加载器说它是 49.0 版本,但类文件说它是 46.0。我已经尝试清理并完全重建项目,我已经确认项目的编译器版本是 1.4,JRE 是 1.4,并且对于运行配置,选择了 1.4 jvm。我完全被困在这个问题上,有没有人知道可能是什么原因造成的?

谢谢

===编辑===

原来与 java 1.4.2 不兼容的 java3d 版本已安装在 C:\Program Files\java\j2re1.4.2_18\lib\ext 中。我安装了一个较新版本的 Java3D 以在 java6 中使用,我猜它在我所有的 JRE 中安装了库,即使是那些不兼容的库。

4

4 回答 4

2

你的类路径上可能还有另一个 javax.vecmath.Point2f 吗?

于 2008-10-22T16:00:40.113 回答
0

我相信最新版本的 Java3D 需要 JRE 1.5。

于 2008-10-22T15:48:01.090 回答
0

你检查过:

Window
    -> Preferences
        -> Java
            -> Compiler
                -> Compiler Compliance Level

看看这个值是否有问题?

于 2008-10-22T16:22:16.187 回答
0

您必须添加

  1. “java_home:C:\Program Files\Java\jdk1.6.0_16”
  2. “路径:C:\Program Files\Java\jdk1.6.0_16\bin;”

到您的环境变量!

于 2012-04-23T01:42:51.647 回答