使用JDK 1.6编译的applet(但不使用1.6的任何新功能)是否适用于具有JRE 1.5的系统?
答案 0 :(得分:1)
不,编译后的代码需要JRE 1.6或更高版本。 JDK 1.6将生成版本为50.0的Java .class文件,而1.5版本将使用版本49.0。
使用javac -target 1.5
生成JRE 1.5可以使用的.class文件。见http://docs.oracle.com/javase/6/docs/technotes/tools/windows/javac.html#options
答案 1 :(得分:1)
正如其他人提到的那样,您需要-target 1.5
来生成1.5代码。要使用-target 1.5
,您还需要设置-source 1.5
。使用1.5库中未在1.5中使用的任何部分也会导致运行时失败,因此请使用-bootclasspath
指向1.5 rt.jar
。为了完整起见,应使用IIRC -Dext.dirs
设置“外部目录”(几乎所有代码都可用的库)(可能是空的)。
答案 2 :(得分:0)
如果代码是使用编译器标志-target 1.6
(默认为1.6 JDK)编译的 - 那么将不会在1.5 JRE上运行。
但是,如果使用了标记-target 1.5
,则将在1.5 JRE上正常工作。