我使用JDK 1.7.0在Eclipse中开发了一个Java应用程序,应用程序运行,一切都按预期工作。
现在我想将应用程序发送给使用不同版本JDK的我的同事。他正在使用1.6.x。
我对他在Eclipse中打开应用程序并通过它进行调试不感兴趣。我只想让他去运行它。如果我创建了一个可运行的.jar
应用程序并将其发送给他,即使他的机器上安装了不同的JDK,它是否也能正常工作?
谢谢。
答案 0 :(得分:3)
您需要使用JDK 1.6(或更低版本)进行编译。如果您的代码不使用Java 7中的功能,则不必更改源代码中的任何内容
答案 1 :(得分:1)
如果您的同事有一个较新的 JRE而不是您用来编译它的JDK,那么它会起作用。所有版本的JRE都与向前版本构建的所有类文件向后兼容,但相反的情况显然不起作用,因为新版本引入了新功能。您的同事将获得UnsupportedClassVersionError
。
但是,在Eclipse中设置项目的目标类版本很容易:转到Project Properties,Java Compiler,然后在JDK Compliance下选择版本1.6。
毋庸置疑,如果源代码使用版本6不支持的任何功能或库调用,则会失败。