源发行版 8 需要目标发行版 1.8
bug信息
Information:java: javacTask: 源发行版 8 需要目标发行版 1.8
Error:java: Compilation failed: internal java compiler error
分析:
项目的JDK版本需要和语言级别保持一致,而编译后的文件同样需要保持版本一致,idea默认是编译版本和语言级别一致的,但有时候项目可能默认1.5版本,而后面再修改语言级别的时候编译目标版本并不会一致,导致上述问题,问题主要发生在JDK部分版本特性上,高版本支持,低版本无法支持。
解决方案:
- Project JDK 版本设置
- Language level 版本设置
- Javac Compile 编译目标版本设置
- 保证这几个版本的一致性
设置路径
// 语言级别的设置路径
File -> Project Structure -> Modules -> Sources -> Language level
// 编译目标版本(javac)的设置路径
File -> Settings ->Build -> Compiler -> Java Compiler -> Target bytecode version