错误:java:无效的源版本:Intellij 中的 8。这是啥意思?
Posted
技术标签:
【中文标题】错误:java:无效的源版本:Intellij 中的 8。这是啥意思?【英文标题】:Error:java: invalid source release: 8 in Intellij. What does it mean?错误:java:无效的源版本:Intellij 中的 8。这是什么意思? 【发布时间】:2014-11-10 18:00:37 【问题描述】:我正在尝试在使用 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
我的猜测是它与 Java 8 和 Java 7 有关,但我不知道具体是什么。我尝试在 Google 上搜索这条消息,但他们要么谈论 javac
或 target release
,所以它似乎并不完全适用。
【问题讨论】:
安装的是什么版本的Java?您在 IDE 设置中将 intellij 指向哪个 JRE/JDK? 可能是项目设置。检查您指向的 JDK 和您要求的语言级别。 @duffymo 你是对的,它指向 8。我没有意识到这是一个设置。 Unable to compile using Java 1.7 in Jetbrains Intellij after moving from 1.6 to 1.7 (maven based project) 的可能重复项 【参考方案1】:我在将项目从 Java 8“降级”到 Java 6 时遇到了同样的问题。原因是 IntelliJ 中的所有地方都没有更改。
在 IntelliJ 13.1.4 中,我必须在以下位置更改 Java 和 SDK 版本才不会出现此错误:
文件 -> 项目结构 -> 项目设置 文件-> 项目结构 -> 模块设置 -> 选项卡:来源:语言级别 文件 -> 项目 结构 -> 模块设置 -> 选项卡:依赖项:模块 SDK 文件 -> 设置 -> 编译器 -> Java 编译器 -> 目标字节码 版本最后一个项目符号是在我的案例中未更新的项目符号。一旦我改变了这个,错误就消失了。
【讨论】:
杀死我的是这个:File -> Settings -> Compiler -> Java Compiler -> Target bytecode version
。谢谢。
我也遇到了这个问题,但以上都没有奏效。我必须这样做IntelliJ IDEA -> Preferences... -> Build, Execution, Deployment -> Build Tools -> Gradle -> Gradle JVM
,以防有人在使用 Gradle 时遇到这个问题。
来源:语言级别更改为 7 - IDEA 15 的 Diamonds、ARM、multi-catch 等
这应该是公认的答案。提醒一下,在 IntelliJ IDEA 15 中,第 4 点已移至 Preferences -> Build, Execution, Deployment -> Compiler -> Java Compiler
。
在一些运行/调试配置中还有一个 JRE 选择。例如,Tomcat 运行/调试配置具有可能导致此错误的“JRE”选择器。【参考方案2】:
首先检查您的pom.xml
(如果有的话)
检查您的模块的 JDK
依赖关系。确保它是 1.8
为此,请转到 Project Structure -> SDK's
将路径添加到您存储 1.8 的位置(在我的情况下为jdk1.8.0_45.jdk
)
应用更改
现在,转到项目 Structure ->Modules
将模块 SDK 更改为 1.8
应用更改
瞧!你已经完成了
【讨论】:
【参考方案3】:如果您使用 Gradle 作为构建工具,并且在执行 Gradle 任务(即 TomcatRun)时收到此错误,请查看我对同一问题的其他答案
javac: invalid target release: 1.8
【讨论】:
谢谢!在上述答案没有解决之后,这解决了我的问题。【参考方案4】:Andreas Lundgren 的回答有效,我能够编译并运行我的应用程序。
但是,当我尝试运行项目的相关 JUnit 测试时,我收到了同样的错误。运行
gradle -version
来自 Windows 命令提示符显示 gradle 仍在拾取不正确的 jdk。要修复它,我必须将JAVA_HOME
环境变量设置为指向正确的 jdk 并重新启动 IntelliJ。
【讨论】:
【参考方案5】:将pom.xml
1.6
更改为1.8
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
【讨论】:
【参考方案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
问题解决了!
【讨论】:
【参考方案7】:对于 Grails 用户,在您的 BuildConfig.groovy 文件中应用这些声明:
grails.project.target.level = 1.6 //or 1.7;1.8 and so on
grails.project.source.level = 1.6 //or 1.7;1.8 and so on
【讨论】:
【参考方案8】:通过设置Project Structure
可以简单地克服它。您只需要为相关版本的JDK选择正确的路径。在依赖项选项卡上选择new
,然后选择路径。完成了!
【讨论】:
【参考方案9】:您需要点击进入项目 打开 Module Settings 并更改 JDK 的路径,如果在文件 POM 中使用 jdk 1.8,请使用正确的路径配置 jdk 1.8。
【讨论】:
【参考方案10】:我在IntelliJ Idea
中检查了以上所有项目版本,模块版本,项目字节码版本,目标字节码版本设置,但都和我抓的一样。
我在IntelliJ Idea 2017.2.6
中遇到此错误Error:java: invalid source release: 1.8
,因为我升级了依赖版本Maven
pom 文件,该文件(依赖)应该为 JDK 1.8 应用程序构建,而我正在构建我的在 Maven 编译器源和目标 JDK 1.7 上使用应用程序。
因此我再次将依赖版本降级到Maven
pom 中的早期版本,并且在项目 Rebuild Module 'xyz_project' 之后错误消失了。
【讨论】:
【参考方案11】:我在此答案中添加了一条未提及的路径https://***.com/a/26009627/4609353
但非常重要的是编辑配置
【讨论】:
【参考方案12】:我尝试了https://***.com/a/26009627/2058104 中提到的所有步骤,但第四点现在已经改变。你需要去Preferences -> Build, Execution, Deployment -> Compiler -> Java Compiler
在那里,如下图所示,您需要更改“目标字节码版本”。虽然,我将其更改为 8(因为我需要降级到 Java 8),但它一遍又一遍地给出相同的错误。因此,尝试删除现有条目(在此表中)并重新添加。这对我有用。
另一方面,清理项目并尝试再次运行。
【讨论】:
【参考方案13】:我遇到了同样的问题,我的解决方案是在 pom.xml 文件中更改我的 java 版本。
我将它从 11 更改为 8。
【讨论】:
【参考方案14】:很多很好的答案。 对于那些使用(几乎)最新版本的 Intellij 的人来说,在撰写本文时,可以说项目 JDK 可以比模块的级别更高。 事实上,如果没有它,Maven 将不得不回滚到旧版本。 因此,使用以下版本的 Intellij:
不应更改项目级别的 JDK,因此可以在构建时利用 Maven 或 Gradle 设置,但在运行 Maven 或使用更现代版本的 JDK 运行 Gradle 时。 如果将项目级别的 JDK 从 JKD8 降低到 JDK6,Maven 或 Gradle 将无法运行。
如果您使用模块重新构建或构建选项,则将模块保持在较低级别的 JDK 将使您能够将其构建到该版本;使用菜单选项重建项目会报错“Invalid source release:8...”。
【讨论】:
【参考方案15】:正如安德烈亚斯所说:
Error:java: invalid source release: 8 in IntelliJ
Error:java: invalid source release: 13 in IntelliJ
Error:java: invalid source release: 14 in IntelliJ...
或者您在 Java 中使用的任何版本...
如果你没有在下面的代码中匹配,问题就会存在:
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
在我的情况下,这个 1.8 必须通过 MAVEN 项目库、设置、首选项、项目设置和 SDK 在您的设备上匹配。
【讨论】:
【参考方案16】:我最近遇到了同样的问题。 运行我的项目主文件后,此错误显示在我的屏幕上。 错误:java:无效的源版本:11 按照步骤解决此错误
-
文件->项目结构->项目
点击Project SDK下的New按钮:添加最新的SDK并点击OK。
运行后你会看到错误已解决..
【讨论】:
如果你没有SDK 12。只需添加最新的【参考方案17】:如果您收到此错误:错误:java:无效的源版本:12 信息:java:编译模块“IdeaProjects”时发生错误 资料:javac 1.8.0_211 用于编译java源 信息:由于项目配置/依赖项更改,模块“IdeaProjects”已完全重建 信息:2021 年 7 月 12 日晚上 8:21 - 构建完成,在 6 秒 323 毫秒内出现 1 个错误和 0 个警告 错误:java:无效的源版本:12
那么
选择您以前的版本项目
在我身边:
完成
如果您获得了 IDE 的解决方案,请给我发消息 www.betechnical.tech 或 amankushwaha9918@gmaill.com
【讨论】:
【参考方案18】:就我而言,细微差别是我获得了无效的源版本 11(而不是 OP 的 8)。我尝试了上面的所有解决方案
gradle jvm 版本,java 编译器字节码版本,模块语言。我将以上所有设置为 java 8(或 1.8),因为这是我机器上的库。
问题在于 build.gradle 文件有
sourceCompatibility = '11'
将此更改为 8 并停止抛出“compile failed invalid release 11”错误
解决方案参考:github forum
【讨论】:
以上是关于错误:java:无效的源版本:Intellij 中的 8。这是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章