[idea]Error:java: invalid source release: 1.8

出现问题

回归正题,出现这个问题的状况是我的电脑本机装的默认jdk版本是1.8.0_71,然后我平常开发用的jdk版本是免安装的1.7,只配置了环境变量,平常用eclipse开发没有出现过这方面的问题,昨天idea也没有出现这个问题,结果今天新建了一个项目,然后设置好了jdk版本,tomcat也设置为了1.7,敲好代码之后已启动,就爆了这个错,如下:

Error:java: invalid source release: 1.8

解决问题

查了一些资料,有如下解决办法: 1.Settings -> Build, Execution, Deployment -> Compiler -> Java Compiler ,然后设置 project bytecode version为1.7,然后设置如图:

这里写图片描述

试了,失败。 2.Project Structure ->Modules -> Dependencies ,将Module SDK设置为1.7,如图:

这里写图片描述

检查了一下,我的设置本来就是1.7,失败 3.最后找到一篇跟我问题差不多的,这个:Error:java: javacTask: source release 8 requires target release 1.8 于是我去检查了一下自己的language level,果然是1.8,将其改为7,运行成功!

这里写图片描述

课外延伸 那么这个language level为何呢?之前在eclipse里没有见过这个概念,我去查了一下,解释如下: 当我们使用 JDK 8 的时候,我们只能向下兼容 JDK 8 及其以下的特性,所以只能选择 8 及其以下的 language level。所以当我们项目使用的是 JDK 8,但是代码却没有使用 JDK 8 的新特性,最多使用了 JDK 7 的特性的时候我们可以选择 7 - Diamonds,ARM,multi-catch etc.。 对此我们总结 language level:限定项目编译检查时最低要求的 JDK 特性。 现在假设我们有一个项目代码使用的 JDK 8 新特性:lambda 语法,但是 JDK 选择的却是 JDK 7,即使 language level 选择了 8 - Lambdas,type annotation etc.,也是没有多大意义的,一样会编译报错。 所以,language level有点像我们工程最低支持版本。比如Language level 设置了5.0 只是就不能出现使用6.0/7.0特性的代码。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据派THU

收藏 | Linux常用156个命令汇总!

来源:机器学习算法与Python学习 本文为大家带来Linux系统中156个常用的命令。 linux命令是对Linux系统进行管理的命令。对于Linux系统来说...

50712
来自专栏Java帮帮-微信公众号-技术文章全总结

Dubbo入门学习--Dubbo注册及监控中心(3)

Dubbo入门学习--Dubbo注册及监控中心 Dubbo提供广播、Zookeeper、Redis和Simple四种注册中心类型。 Multicast注册中心 ...

3373
来自专栏http://www.cnblogs.com

第一周作业-模拟登陆

1 #coding:utf-8 2 #Author:Mr Zhi 3 count = 0 #为累计密码输入次数,赋值初始值 4 User_i...

3579
来自专栏机器学习算法与Python学习

手册 | Linux 运维人员最常用 150 个命令汇总

关键字全网搜索最新排名 【机器学习算法】:排名第一 【机器学习】:排名第一 【Python】:排名第三 【算法】:排名第四 本周六送5本《TensorFlow实...

2996
来自专栏一“技”之长

Git命令集十六——推送命令 原

451
来自专栏友弟技术工作室

DevOps人员常用的linux命令

以下内容是来自网路,中间加入了自己工作中的使用总结 命令 功能说明 线上查询及帮助命令 (2 个) man 查看命令帮助,命令的词典,更复杂...

3416
来自专栏猿天地

Spring Cloud Sleuth Zipkin 展示追踪数据

上篇文章我们介绍了Spring Cloud Sleuth 链路追踪, 可以在输出的log中增加唯一请求的标识以及spanid, 然后可以采用ELK来对数据做集中...

3219
来自专栏北京马哥教育

Linux 企业运维人员最常用 150 个命令汇总! 收藏了!

? 命令功能说明线上查询及帮助命令 (2 个)man查看命令帮助,命令的词典,更复杂的还有 info,但不常用。help查看 Linux 内置命令的帮助,比如...

3048
来自专栏http://www.cnblogs.com

linux进程

1.查进程 ps命令查找与进程相关的PID号: ps a 显示现行终端机下的所有程序,包括其他用户的程序。 ps -A 显示所有程序。 ps c 列出程序时,显...

39610
来自专栏Dato

Maven的作用是什么

现在我们开发的项目基本上都是maven项目,maven项目也是一个项目,类似于javaProject,javaWebProject,就是多了些功能。 那就说说究...

35011

扫码关注云+社区

领取腾讯云代金券