我用Java 6创建了一个Jar。现在我正在创建一个发布文档并记录依赖项。如何找到可以成功运行Jar的最早版本的Java,以及能够成功将源代码编译到Jar中的最早版本的Java?
答案 0 :(得分:1)
我只知道一个manuel解决方案:尝试一下。但是,有两件事需要考虑。
您可以使用当前的JDK进行第一次操作,只需迭代传递给-source
编译器的-target
和javac
参数。但是,这不会阻止您使用正在使用的JDK中的类和方法。如果这样做,如果您使用的是那些当时不存在的类或方法,那么代码将不会为较低的JRE执行。
最流行的方法是安装所有不同的JDK并尝试使用每个编译器编译代码。
答案 1 :(得分:0)
如果使用java 6创建了jar并且没有指定不同版本的输出字节码,则生成的类文件将需要Java 6或更高版本。如果您正在手动编译,可以尝试使用-target
命令行选项查看可以使用源生成的字节码版本,如果您使用的是eclipse或其他IDE,则大多数都具有控制生成的设置项目选项中的字节码版本或类似的地方。
关于确定类文件的字节码版本的相关帖子:What version of javac built my jar?