在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。
答案 0 :(得分:2)
你的类路径上还有另一个javax.vecmath.Point2f吗?
答案 1 :(得分:0)
我相信最新版本的Java3D需要JRE 1.5。
答案 2 :(得分:0)
你检查过:
Window
-> Preferences
-> Java
-> Compiler
-> Compiler Compliance Level
要查看此值是否有问题?
答案 3 :(得分:0)
您必须添加
到您的环境变量!