IDEA 报错 Error:java: 无效的源发行版: 10(Error:java: invalid source release: 10)

如果解决了你的问题,麻烦点赞评论支持一下;如果觉得文章有错误,麻烦评论指出,我会第一时间评论修改!

开发工具
  • IntelliJ IDEA 2018.3.5(Ultimate Edition)版本
  • Mac
解决方法
  • Project Settings页面,保证Modules里的Language Level版本高于Project里的Project SDK版本
  • 如果使用了maven-compiler-plugin插件,请保证sourcetarget版本高于Project里的Project SDK版本
  • 注意,不是修改Project里的Project Language Level版本,具体原因参照下面IDEA 报错 Error:java: 无效的源发行版: 10(Error:java: invalid source release: 10)_第1张图片
    IDEA 报错 Error:java: 无效的源发行版: 10(Error:java: invalid source release: 10)_第2张图片
    IDEA 报错 Error:java: 无效的源发行版: 10(Error:java: invalid source release: 10)_第3张图片
原因(重点,理解了下次就不会再出错)
  • 几个版本的含义
    • ModulesProject SDK:项目实际编译所用的版本,即最后生成的class文件是使用该版本编译的,一般都是开发人员自行安装在机器上,取决于运行环境!
    • Project里的Project Language Level:项目的全局检查版本,我理解为工程最低支持版本;IDEA会使用自带的Language Level指定的jdk版本来对我们的代码进行编译检查
    • Modules里的Language Level:指定模块的最低支持版本,作用同Project Language Level,只是作用域更小
    • maven-compiler-plugin:作用同Project Language Level,不依赖于开发软件,更加有效!
  • 几个检查版本的优先级:maven-compiler-plugin > Project Language Level > Language Level, 即只要指定了优先级更高的设置(如maven-compiler-plugin)的版本,后者(如Project Language Level)不生效;出现错误,原因只会出在优先级更高的配置!
  • 版本检查的意义:很多时候,尤其是大的项目,我们无法保证生产环境JDK的版本,与我们实际本地开发的版本一致,所以需要通过该机制进行检查
  • 建议:项目在生产运行时,没有IDEA的环境,所以我建议大家使用maven-compiler-plugin去进行运行前的版本检查
  • 补充:使用maven-compiler-plugin时,如修改后问题没有坚决,请先mvn clean一下
测试代码

IDEA 报错 Error:java: 无效的源发行版: 10(Error:java: invalid source release: 10)_第4张图片

你可能感兴趣的:(IDEA报错,IDEA异常,JDK版本)