sourceCompatibility选项

sourceCompatibility选项

我们可以使用JDK 1.8编译器来编译sourceCompatibility选项设置为1.7的源代码。

ModuleA将此设置为1.7,而ModuleB和ModuleC将此设置为1.8。我应该使用什么编译器来编译以上所有模块。我假设它应该是JDK 1.7。

最佳答案

我假设您有两个问题:

使用jdk8编译为java7编写的程序:是的,java以向后兼容而闻名。

使用什么jdk来编译具有不同源兼容性编写的模块的项目:使用最新版本。就您而言,是jdk8。如果出现问题,请安装并使用多个jdk。

编辑:的确,如果使用jdk8编译Java 7 prog,可能会出现问题,但是在我的200多个本地版本和400多个CI版本中,都没错。问题率是如此之低,以至于我只考虑它。如果您认为它非常重要,请始终安装并使用匹配的jdks。

09-25 18:45