Eclipse类版本bug

时间:2008-10-22 15:25:20

标签: java eclipse class classpath

在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。我完全坚持这个,有没有人知道可能是什么导致了这个?

由于

=== EDIT ===

事实证明,在C:\ Program Files \ java \ j2re1.4.2_18 \ lib \ ext中安装了与java 1.4.2不兼容的java3d版本。我在java6中安装了一个较新版本的Java3D,我猜它在我所有的JRE中安装了libs,甚至是那些不兼容的JRE。

4 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

你检查过:

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

要查看此值是否有问题?

答案 3 :(得分:0)

您必须添加

  1. “java_home:C:\ Program Files \ Java \ jdk1.6.0_16”
  2. “path:C:\ Program Files \ Java \ jdk1.6.0_16 \ bin;”
  3. 到您的环境变量!