我在使用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设置的屏幕截图。系统:
有什么想法吗?
答案 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 ...
,现在一切正常......