关于jdk和Language level的关系
为什么制定了jdk还需要指定Language level
-
在java项目中必不可少的是我们要指定一个jdk。
-
在指定jdk的同时,还可以指定jdk的Language level,这个有点像我们工程最低支持版本。比如Language level 设置了5.0 只是就不能出现使用6.0/7.0特性的代码。当我们使用 JDK 8 的时候,我们只能向下兼容 JDK 8 及其以下的特性,所以只能选择 8 及其以下的 language level。
假设我们有一个项目代码使用了JDK 8 新特性:lambda 语法,但是 JDK 版本选择的却是 JDK 7,即使 language level 选择了 8 - Lambdas,type annotation etc.,也是没有多大意义的,一样会编译报错。
所以说,我们使用Project SDK(Software Development Kit, 软件开发工具包)来选择安装的JDK版本,使用Language level来限制JDK的版本。
== 注意 ==
如果一个项目在本地运行正常,但是Language level配置错误,会在Linux部署项目时出现路径错误等问题。
做项目时,要注意这地方的配置。