Mac OS X 10.5上的Java错误“.class文件中的版本号错误”

时间:2014-03-12 13:26:29

标签: java macos ant javac osx-leopard

我在使用OS X 10.5.8和#34; Leopard"的旧版Mac上遇到了问题。

使用Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file加载特定的java类失败,我知道这个规范说明java类是为比当前安装的JVM更高的JVM编译的。

但是,我使用JDK 6编译了Java 6的类,而Mac安装了Java 6!

这是java -version在Mac上的说法:

bih37-4:~ bih37$ java -version
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-9M3425)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)

这就是我在使用JDK 1.6.0_43的Windows系统上使用ant 1.7编译java类的方法:

<target name="compile" depends="clean">
    <javac srcdir="src" destdir="bin" target="1.6" encoding="utf-8">
        <classpath refid="classpath.base" />
    </javac>
</target>

AFAIK一切都应该非常流畅,所以它在Windows 7和OS X Mavericks上运行,但不在OS X 10.5&#34; Leopard&#34;。

确保我不会忘记一些事情:这是&#34; Leopard&#34;上的Java设置的屏幕截图。系统: enter image description here

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

完全是我的错。 感谢Dirks问题注册。启动过程我仔细检查了我的同事写的bash启动器脚本,看到他用/Library/Java/Home/bin/java -jar ...启动java而不是仅使用java -jar ...

虽然java指向Java 6 JDK,但/Library/Java/Home/bin/java仍然指向旧的Java 5.糟糕! : - (

在bash脚本中使用java -jar ...,现在一切正常......