错误:java:无效的源版本:Intellij中的8.这是什么意思?

Dav*_*ica 293 java compilation javac intellij-idea intellij-13

我试图编译一些代码在我使用Intellij Ultimate 13.1.4,但我得到以下错误,我不知道这意味着什么:

Information:Using javac 1.7.0_55 to compile java sources
Information:java: Errors occurred while compiling module 'Example'
Information:Compilation completed with 1 error and 0 warnings in 3 sec
Information:1 error
Information:0 warnings
Error:java: invalid source release: 8
Run Code Online (Sandbox Code Playgroud)

我的猜测是它与Java 8和Java 7有关,但我不知道具体是什么.我试图谷歌周围的这个消息,但他们要么谈论javactarget release,所以它似乎并不完全适用.

And*_*ren 669

当将项目从Java 8"降级"到Java 6时,我遇到了同样的问题.原因是它在IntelliJ的所有位置都没有改变.

在IntelliJ 13.1.4中,我必须在以下位置更改Java和SDK版本,以免出现此错误:

  • 文件 - >项目结构 - >项目设置
  • 文件 - >项目结构 - >模块设置 - >选项卡:来源:语言级别
  • 文件 - >项目结构 - >模块设置 - >选项卡:依赖项:模块SDK
  • 文件 - >设置 - >编译器 - > Java编译器 - >目标字节码版本

文件>项目结构>项目的屏幕截图

文件>项目结构>模块>源的屏幕截图

文件>项目结构>模块>依赖关系的屏幕截图

文件>设置/首选项>编译器> Java编译器的屏幕截图

最后一颗子弹是我的情况下未更新的子弹.一旦我改变了这个,错误就消失了.

  • 杀死我的是这一个:`文件 - >设置 - >编译器 - > Java编译器 - >目标字节码版本`.谢谢. (25认同)
  • 我也遇到了这个问题,但上述都没有奏效.我不得不做`IntelliJ IDEA - >首选项... - >构建,执行,部署 - >构建工具 - > Gradle - > Gradle JVM`,以防任何人在使用Gradle时遇到此问题. (17认同)
  • 这应该是公认的答案.作为一个小小的挑战,在IntelliJ IDEA 15中,第4点已经转移到"首选项 - >构建,执行,部署 - >编译器 - > Java编译器". (3认同)
  • 来源:语言等级变为7 - IDEA 15的钻石,ARM,多捕获等 (2认同)
  • 某些运行/调试配置中还有 JRE 选择。例如,Tomcat 运行/调试配置有一个“JRE”选择器,可能会导致此错误。 (2认同)

小智 15

先检查一下pom.xml(如果有的话)
检查模块的JDK可靠性.确保它是 这样做,转到项目结构 - > SDK's 添加存储位置的路径1.8(在我的情况下) 应用更改 现在,转到项目结构 - >模块 更改模块SDK以 应用更改1.8

jdk1.8.0_45.jdk


1.8

瞧!你完成了


jul*_*lez 6

如果您使用 Gradle 作为构建工具,并且在执行 Gradle 任务(即 TomcatRun)时收到此错误,请查看我对同一问题的其他答案

javac:无效的目标版本:1.8


小智 6

更改pom.xml 1.61.8

<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
    </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)


Jav*_*ldi 6

对于有此问题的Gradle用户,如果以上方法无济于事,这就是解决我的问题的方法-在build.gradle文件中应用以下声明:

targetCompatibility = 1.6 //or 1.7;1.8 and so on
sourceCompatibility = 1.6 //or 1.7;1.8 and so on
Run Code Online (Sandbox Code Playgroud)

问题解决了!


snr*_*snr 5

它可以通过设置简单地克服Project Structure。您只需要为相关版本的JDK选择正确的路径即可。选择new依赖关系选项卡,然后选择路径。完成!

在此处输入图片说明