Error: Java: invalid target release: 11 - IntelliJ IDEA
Error: Java: invalid target release: 11 - IntelliJ IDEA
我正在尝试构建一个使用 java 8 构建的应用程序,现在它已升级到 java 11。我在我的 [= 中安装了 Java 11 using an oracle article 55=] machine 我使用 IntelliJ IDEA 2017 作为我的 IDE.
我更改了系统环境变量并设置了
JAVA_HOME to C:\Program Files\Java\jdk-11.0.1
并将其添加到 Path
变量中。
C:\>java -version
java version "11.0.1" 2018-10-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.1+13-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.1+13-LTS, mixed mode)
当我在 IntelliJ 中构建我的应用程序时,这是我得到的:
Information:java: Errors occurred while compiling module 'test-domain_main'
Information: javac 1.8.0_171 was used to compile java sources
Information:1/10/2019 4:21 PM - Compilation completed with 1 error and 0 warnings in 1s 199ms
Error:java: invalid target release: 11
这是我目前尝试过的方法:
我将 .idea/compiler.xml
目标值从 8 更改为 11,但这没有帮助。此外,验证 settings > Build, Execution, Deployment > Compiler > Java Compiler
中的 Target bytecode version
并且我的所有模块都设置为 11。
去了file > Project Structure > SDKs *(currently I have 1.7 and 1.7 listed)* > Add new SDK > JDK >
在那之后,我选择了 C:\Program Files\Java\jdk-11.0.1
但是它出错了 "The selected directory is not a valid home for JDK"
我不确定我是否安装了错误的 JDK 11,因为在我的 C:\Program Files\Java\
中,我看到单独的 JDK 和 JRE 文件夹用于 1.7
和 1.8
但 11.0.1
只有 JDK 个文件夹
还是我需要更改其他内容?
请update IntelliJ IDEA 2018.x 获得 Java 11 支持。您的 IntelliJ IDEA 版本是 Java 11 之前发布的,不支持此 Java 版本。
- 我今天收到了相同的信息消息和错误消息,但我有
最近更新了 Idea -> 2018.3.3,构建于 2019 年 1 月 9 日。
为了解决这个问题,我更改了 File->Project Structure->Modules ->>
语言等级达到 10。
并检查 文件 -> 设置 -> 构建、执行,
部署 -> 编译器 -> Java 编译器 -> > 项目字节码
和 每个模块字节码 版本。我那里有 11 个。
现在我没有收到这些通知和错误。
它可能对像我这样的人有用,有最新的想法并得到同样的错误。
我遇到了与 Gryu 所述相同的问题。
同样的 Intellij 2018 3.3
我能够通过设置(如 Grigoriy 所述)开始我的项目
File->Project Structure->Modules ->> Language level to 8 ( my maven project was set to 1.8 java)
和
File -> Settings -> Build, Execution, Deployment -> Compiler -> Java Compiler -> 8 also there
希望有用
更新我的想法后遇到了同样的错误,我按如下方式解决了它:
文件 >> 项目结构... >> 项目
“项目语言级别:”设置为“11 - lambda 参数的局部变量语法”
所以我将其更改为“SDK default (8 - Lambdas, type annotations etc.)”然后应用更改
错误已解决。
刚遇到同样的错误。问题是我有空 package-info.java file
。只要我在其中添加包名称,它就起作用了...
我可以说我有类似的问题。我的案例:我在工作区中从项目的新版本切换到旧版本,尝试 运行 需要重新编译的单个 junit,重新编译错误被抛出,目标无效。
在 IntelliJ 的项目设置 (F4) 中,一切看起来都不错,java 设置为 1.7。但是当我尝试从 IDE 重新编译时,由于目标级别错误而引发错误。检查后我发现在其中一个 iml 文件中语言被设置为 JDK_11。手动更改为 JDK_1_7 后一切恢复正常。
也值得在 IDE 创建的 *iml 文件中手动检查 lang 级别。
2 种方法中的 1 种可以解决问题:
方法一(推荐)
在构建文件中指定 Java 版本。
例如,对于 Gradle,转到 build.gradle 文件并指定源和目标兼容性,如 docs 中所述,然后单击 [=54= 中的刷新按钮] 工具 window.
例如,要将源和目标兼容性设置为 Java 版本 17:
java {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
方法二
如果通过构建系统(Maven、Gradle 等)通过命令行构建项目但 IntelliJ 显示 Invalid target release
错误,则执行以下操作,
关闭 IntelliJ
进入项目目录
删除.idea/目录
使用项目目录启动 IntelliJ
这将重新创建 .idea/ 目录并且将不再显示错误。
注意:当删除 .idea/ 目录时,您添加的任何特定于存储库的 IntelliJ 设置都将被删除,并且它们将使用默认设置重新创建。
对我来说,我遇到了同样的问题,但它与 java v8
有关,我在我的机器上为我的不同项目使用了不同版本的 java。在导入我的一个项目时,我遇到了同样的问题。为了检查配置,我检查了所有与 SDK 相关的设置,无论是在 File->Project->Project Structure / Modules
还是在 Run/Debug 配置设置中。我设置为 java-8
的所有内容,但我仍然遇到同样的问题。在检查所有配置文件时,我发现 .idea 中的 compiler.xml 有一个字节码目标级别的条目,该条目设置为 11。在这里,如果我将其更改为 8,即使它显示相同的编译器输出并删除 [=来自 compiler.xml
的 18=]<bytecodeTargetLevel target="11" />
解决了这个问题。
Maven也有可能使用不同版本的JDK,这种情况下你可以设置Maven使用项目默认的JDK版本。
我的项目模块设置为 8,但 pom.xml 设置为 11。当我在模块中从 8 更改为 11 时,它起作用了。
我遇到了这个问题,因为我目前正在将我的代码库升级到 JDK 11,并且在分支中的 8 和 11 之间切换。看来 IntelliJ 不喜欢这样。
解法:
如果您在项目结构 (Ctrl+Shift+Alt+S
) 中选择了当前的 JDK,但仍然出现错误,请使您的缓存无效 File > Invalidate Caches / Restart...
。
重新启动后 IDE 我的错误消失了。
我也遇到了同样的错误,我只是将 pom.xml 中的 java 版本从 11 更改为 1.8,它工作正常。
我也遇到了类似的错误,但在我的例子中是 Error:java: invalid source release: 11... 所以我只是将 java 11 的所有注释更改为 java 8 即使注释是 java 8,我也只是这样离开了。我希望它能帮助你解决这个问题。
如果您使用的是 Springboot,请检查 pom.xml 文件中的 java 版本
<properties>
<java.version>11</java.version>
</properties>
如果此版本与您计算机的默认版本(Java)不匹配,则可能会发生该错误。
我更改了文件 -> 项目结构 -> 项目设置 -> 模块 在源选项卡中,我将语言级别从:14 或 11 设置为:“项目默认值”。这解决了我的问题。
在你的 pom.xml 文件里面 写“8”而不是写“11”,然后重新编译你的 pom.xml 文件
而且 tadaaaaaa 它有效!
我尝试了以上所有方法,发现了这个秘诀
- 确保 pom.xml 指定您想要的 jdk。
- 确保 maven 指定您想要的 jdk。
- 确保 Projects 指定您想要的 jdk。
- 确保模块指定您的整数 jdk 并且依赖项指定您的 jdk。
hth.
我将这两行添加到 build.gradle 文件
compileJava.options.fork = true
compileJava.options.forkOptions.executable = 'C:\Program Files\Java\jdk-11.0.8'
有效
我正在使用 windows 并且我的项目基于 gradle
我的 jdk 路径 -> 'C:\Program Files\Java\jdk-11.0.8'
请提供您的jdk路径
我最近遇到了同样的问题。
在 运行 我的项目主文件之后,这个错误出现在我的屏幕上。
错误:java:无效的源版本:11
按照步骤解决此错误
- 文件->项目结构->项目
- 点击 Project SDK 下的新建按钮:添加最新的 SDK 并点击确定。
在 运行 之后您会看到错误已解决..
你可以看到它完美地工作..
如果您发现任何问题,请联系我
以下更改对我有用,希望对你也有用。
在 pom.xml 文件
中将 Java 的版本从 11 更改为 8
1.8
转到,文件 -> 设置 -> 构建、执行、部署 -> 编译器 -> Java 编译器
在这里,在 Module 列中,您可以看到列出了您的项目,在 Target bytecode version 列中,已经指定了项目的 Java 版本(11个居多),改成8
转到文件 -> 项目结构 -> 模块。在这里,在 Source 选项卡中,您可以看到 Language level 选项,选择 8 - Lambdas,类型注释等.最后,选择“应用”和“确定”,一切顺利。
2021 年 1 月 6 日
这对我有用。
转到文件 -> 项目结构和 select window 右侧面板上的“依赖项”选项卡。然后像这样使用下拉菜单更改“Module SDK”。然后应用更改。
2021 年 1 月 12 日
我的重点是在 pom.xml 中将版本明确指定为 java 11,我通过以下步骤解决了这个问题。
打开终端输入:java-version,然后我得到1.8,然后我去.bash_profile将java版本切换到11.2作为我安装了多个 java 版本。请记住“重启”您的终端并再次检查您的 java 版本以确认切换成功。
然后我转到文件 -> 项目结构以确保我的 IntelliJ 使用与我的环境相同的版本,即 11.2。
重新启动您的 Intellij,mvn 全新安装,已解决,希望这可以帮助遇到同样问题的人,谢谢。
1. pom.xml (start with this important)
- <java.version>1.8</java.version>
* Enable auto import on pop up
* Wait until it loads
2. Project Structure
- Project
- Project SDK - 1.8
- Project language Level - 8
- Modules
- Sources
- Language level - 8
- Dependencies - Project SDK 1.8
3. Delete idea folder
4. Close window
5. Reopen window (make sure it loads at bottom)
试试这个
<properties>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.source>1.8</maven.compiler.source>
</properties>
在较新版本的 Intellij 中,检查 jdk 11 是否正确配置:
- 右键单击您的项目,然后
Open Module Settings
。检查下面列出的设置:
SDKs (Under Platform Settings) > Add the jdk 11 you want located on your computer
.
Modules (Under Project Settings) > Set language level to jdk 11 for sources and dependencies
.
Project (Under Project Settings) > Select jdk 11 as Project SDK
。
- 然后
File > Settings > Java Compiler
。检查以下设置:
- 使用编译器:
Javac
- 项目字节码版本:
11
- 每个模块的字节码版本:所有模块的目标字节码版本必须设置为
11
。
我遇到了相同的 java 11 目标错误,我的问题是 maven-compiler-plugin
过时的版本。
升级到最新,一切正常
如果您的项目是使用 gradle 构建的,您应该更新:
File > Settings > Build, Execution, Deployment > Build Tools > Gradle
并使用版本 11 更新 Gradle JVM
。
上面的方法我都试过了
- gradle jvm 版本,java 编译器字节码版本,模块语言。
我将以上所有设置为 java 8(或 1.8),因为这是我机器上的库。还是不行。
问题是 build.gradle 文件有
sourceCompatibility = '11'
将其更改为 8,它不再抛出 'compile failed invalid release 11' 错误
解决方案参考:github forum
在 gradle.properties
中为 Java 家设置正确的路径解决了我的问题
gradle 属性路径:C:\Users<用户名>.gradle\gradle.properties
org.gradle.java.home=yourjdk11homepath
Example : org.gradle.java.home=C\:/Program Files/Java/jdk-11.0.8
我的解决方案:
- 转到文件 > 设置 > 构建、执行、部署 > 构建工具 > Gradle
- Select Gradle JVM:[SDK 版本]
- 编译
如果配置 Project Properties
对你不起作用,你还应该记住更改 maven 或 Gradle
的 SDK 版本,这可能指向错误的路径或 JDK
版本。
为此:
- 点击文件 |设置 |构建、执行、部署 |构建工具
- 如果是maven,点击maven然后点击Runner,设置JRE使用项目JDK。
- 如果Gradle,点击Gradle然后设置Gradle
JVM
。
我正在尝试构建一个使用 java 8 构建的应用程序,现在它已升级到 java 11。我在我的 [= 中安装了 Java 11 using an oracle article 55=] machine 我使用 IntelliJ IDEA 2017 作为我的 IDE.
我更改了系统环境变量并设置了
JAVA_HOME to C:\Program Files\Java\jdk-11.0.1
并将其添加到 Path
变量中。
C:\>java -version
java version "11.0.1" 2018-10-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.1+13-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.1+13-LTS, mixed mode)
当我在 IntelliJ 中构建我的应用程序时,这是我得到的:
Information:java: Errors occurred while compiling module 'test-domain_main'
Information: javac 1.8.0_171 was used to compile java sources
Information:1/10/2019 4:21 PM - Compilation completed with 1 error and 0 warnings in 1s 199ms
Error:java: invalid target release: 11
这是我目前尝试过的方法:
我将
.idea/compiler.xml
目标值从 8 更改为 11,但这没有帮助。此外,验证settings > Build, Execution, Deployment > Compiler > Java Compiler
中的Target bytecode version
并且我的所有模块都设置为 11。去了
file > Project Structure > SDKs *(currently I have 1.7 and 1.7 listed)* > Add new SDK > JDK >
在那之后,我选择了C:\Program Files\Java\jdk-11.0.1
但是它出错了 "The selected directory is not a valid home for JDK"
我不确定我是否安装了错误的 JDK 11,因为在我的 C:\Program Files\Java\
中,我看到单独的 JDK 和 JRE 文件夹用于 1.7
和 1.8
但 11.0.1
还是我需要更改其他内容?
请update IntelliJ IDEA 2018.x 获得 Java 11 支持。您的 IntelliJ IDEA 版本是 Java 11 之前发布的,不支持此 Java 版本。
- 我今天收到了相同的信息消息和错误消息,但我有 最近更新了 Idea -> 2018.3.3,构建于 2019 年 1 月 9 日。
为了解决这个问题,我更改了 File->Project Structure->Modules ->> 语言等级达到 10。
并检查 文件 -> 设置 -> 构建、执行, 部署 -> 编译器 -> Java 编译器 -> > 项目字节码 和 每个模块字节码 版本。我那里有 11 个。
现在我没有收到这些通知和错误。
它可能对像我这样的人有用,有最新的想法并得到同样的错误。
我遇到了与 Gryu 所述相同的问题。 同样的 Intellij 2018 3.3
我能够通过设置(如 Grigoriy 所述)开始我的项目
File->Project Structure->Modules ->> Language level to 8 ( my maven project was set to 1.8 java)
和
File -> Settings -> Build, Execution, Deployment -> Compiler -> Java Compiler -> 8 also there
希望有用
更新我的想法后遇到了同样的错误,我按如下方式解决了它:
文件 >> 项目结构... >> 项目
“项目语言级别:”设置为“11 - lambda 参数的局部变量语法” 所以我将其更改为“SDK default (8 - Lambdas, type annotations etc.)”然后应用更改 错误已解决。
刚遇到同样的错误。问题是我有空 package-info.java file
。只要我在其中添加包名称,它就起作用了...
我可以说我有类似的问题。我的案例:我在工作区中从项目的新版本切换到旧版本,尝试 运行 需要重新编译的单个 junit,重新编译错误被抛出,目标无效。
在 IntelliJ 的项目设置 (F4) 中,一切看起来都不错,java 设置为 1.7。但是当我尝试从 IDE 重新编译时,由于目标级别错误而引发错误。检查后我发现在其中一个 iml 文件中语言被设置为 JDK_11。手动更改为 JDK_1_7 后一切恢复正常。
也值得在 IDE 创建的 *iml 文件中手动检查 lang 级别。
2 种方法中的 1 种可以解决问题:
方法一(推荐)
在构建文件中指定 Java 版本。
例如,对于 Gradle,转到 build.gradle 文件并指定源和目标兼容性,如 docs 中所述,然后单击 [=54= 中的刷新按钮] 工具 window.
例如,要将源和目标兼容性设置为 Java 版本 17:
java {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
方法二
如果通过构建系统(Maven、Gradle 等)通过命令行构建项目但 IntelliJ 显示 Invalid target release
错误,则执行以下操作,
关闭 IntelliJ
进入项目目录
删除.idea/目录
使用项目目录启动 IntelliJ
这将重新创建 .idea/ 目录并且将不再显示错误。
注意:当删除 .idea/ 目录时,您添加的任何特定于存储库的 IntelliJ 设置都将被删除,并且它们将使用默认设置重新创建。
对我来说,我遇到了同样的问题,但它与 java v8
有关,我在我的机器上为我的不同项目使用了不同版本的 java。在导入我的一个项目时,我遇到了同样的问题。为了检查配置,我检查了所有与 SDK 相关的设置,无论是在 File->Project->Project Structure / Modules
还是在 Run/Debug 配置设置中。我设置为 java-8
的所有内容,但我仍然遇到同样的问题。在检查所有配置文件时,我发现 .idea 中的 compiler.xml 有一个字节码目标级别的条目,该条目设置为 11。在这里,如果我将其更改为 8,即使它显示相同的编译器输出并删除 [=来自 compiler.xml
的 18=]<bytecodeTargetLevel target="11" />
解决了这个问题。
Maven也有可能使用不同版本的JDK,这种情况下你可以设置Maven使用项目默认的JDK版本。
我的项目模块设置为 8,但 pom.xml 设置为 11。当我在模块中从 8 更改为 11 时,它起作用了。
我遇到了这个问题,因为我目前正在将我的代码库升级到 JDK 11,并且在分支中的 8 和 11 之间切换。看来 IntelliJ 不喜欢这样。
解法:
如果您在项目结构 (Ctrl+Shift+Alt+S
) 中选择了当前的 JDK,但仍然出现错误,请使您的缓存无效 File > Invalidate Caches / Restart...
。
重新启动后 IDE 我的错误消失了。
我也遇到了同样的错误,我只是将 pom.xml 中的 java 版本从 11 更改为 1.8,它工作正常。
我也遇到了类似的错误,但在我的例子中是 Error:java: invalid source release: 11... 所以我只是将 java 11 的所有注释更改为 java 8 即使注释是 java 8,我也只是这样离开了。我希望它能帮助你解决这个问题。
如果您使用的是 Springboot,请检查 pom.xml 文件中的 java 版本
<properties>
<java.version>11</java.version>
</properties>
如果此版本与您计算机的默认版本(Java)不匹配,则可能会发生该错误。
我更改了文件 -> 项目结构 -> 项目设置 -> 模块 在源选项卡中,我将语言级别从:14 或 11 设置为:“项目默认值”。这解决了我的问题。
在你的 pom.xml 文件里面
我尝试了以上所有方法,发现了这个秘诀
- 确保 pom.xml 指定您想要的 jdk。
- 确保 maven 指定您想要的 jdk。
- 确保 Projects 指定您想要的 jdk。
- 确保模块指定您的整数 jdk 并且依赖项指定您的 jdk。 hth.
我将这两行添加到 build.gradle 文件
compileJava.options.fork = true
compileJava.options.forkOptions.executable = 'C:\Program Files\Java\jdk-11.0.8'
有效
我正在使用 windows 并且我的项目基于 gradle
我的 jdk 路径 -> 'C:\Program Files\Java\jdk-11.0.8'
请提供您的jdk路径
我最近遇到了同样的问题。 在 运行 我的项目主文件之后,这个错误出现在我的屏幕上。 错误:java:无效的源版本:11 按照步骤解决此错误
- 文件->项目结构->项目
- 点击 Project SDK 下的新建按钮:添加最新的 SDK 并点击确定。
在 运行 之后您会看到错误已解决..
你可以看到它完美地工作.. 如果您发现任何问题,请联系我
以下更改对我有用,希望对你也有用。
在 pom.xml 文件
中将 Java 的版本从 11 更改为 81.8 转到,文件 -> 设置 -> 构建、执行、部署 -> 编译器 -> Java 编译器
在这里,在 Module 列中,您可以看到列出了您的项目,在 Target bytecode version 列中,已经指定了项目的 Java 版本(11个居多),改成8转到文件 -> 项目结构 -> 模块。在这里,在 Source 选项卡中,您可以看到 Language level 选项,选择 8 - Lambdas,类型注释等.最后,选择“应用”和“确定”,一切顺利。
2021 年 1 月 6 日
这对我有用。
转到文件 -> 项目结构和 select window 右侧面板上的“依赖项”选项卡。然后像这样使用下拉菜单更改“Module SDK”。然后应用更改。
2021 年 1 月 12 日
我的重点是在 pom.xml 中将版本明确指定为 java 11,我通过以下步骤解决了这个问题。
打开终端输入:java-version,然后我得到1.8,然后我去.bash_profile将java版本切换到11.2作为我安装了多个 java 版本。请记住“重启”您的终端并再次检查您的 java 版本以确认切换成功。
然后我转到文件 -> 项目结构以确保我的 IntelliJ 使用与我的环境相同的版本,即 11.2。
重新启动您的 Intellij,mvn 全新安装,已解决,希望这可以帮助遇到同样问题的人,谢谢。
1. pom.xml (start with this important)
- <java.version>1.8</java.version>
* Enable auto import on pop up
* Wait until it loads
2. Project Structure
- Project
- Project SDK - 1.8
- Project language Level - 8
- Modules
- Sources
- Language level - 8
- Dependencies - Project SDK 1.8
3. Delete idea folder
4. Close window
5. Reopen window (make sure it loads at bottom)
试试这个
<properties>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.source>1.8</maven.compiler.source>
</properties>
在较新版本的 Intellij 中,检查 jdk 11 是否正确配置:
- 右键单击您的项目,然后
Open Module Settings
。检查下面列出的设置:SDKs (Under Platform Settings) > Add the jdk 11 you want located on your computer
.Modules (Under Project Settings) > Set language level to jdk 11 for sources and dependencies
.Project (Under Project Settings) > Select jdk 11 as Project SDK
。
- 然后
File > Settings > Java Compiler
。检查以下设置:- 使用编译器:
Javac
- 项目字节码版本:
11
- 每个模块的字节码版本:所有模块的目标字节码版本必须设置为
11
。
- 使用编译器:
我遇到了相同的 java 11 目标错误,我的问题是 maven-compiler-plugin 过时的版本。 升级到最新,一切正常
如果您的项目是使用 gradle 构建的,您应该更新:
File > Settings > Build, Execution, Deployment > Build Tools > Gradle
并使用版本 11 更新 Gradle JVM
。
上面的方法我都试过了
- gradle jvm 版本,java 编译器字节码版本,模块语言。
我将以上所有设置为 java 8(或 1.8),因为这是我机器上的库。还是不行。
问题是 build.gradle 文件有
sourceCompatibility = '11'
将其更改为 8,它不再抛出 'compile failed invalid release 11' 错误
解决方案参考:github forum
在 gradle.properties
中为 Java 家设置正确的路径解决了我的问题
gradle 属性路径:C:\Users<用户名>.gradle\gradle.properties
org.gradle.java.home=yourjdk11homepath
Example : org.gradle.java.home=C\:/Program Files/Java/jdk-11.0.8
我的解决方案:
- 转到文件 > 设置 > 构建、执行、部署 > 构建工具 > Gradle
- Select Gradle JVM:[SDK 版本]
- 编译
如果配置 Project Properties
对你不起作用,你还应该记住更改 maven 或 Gradle
的 SDK 版本,这可能指向错误的路径或 JDK
版本。
为此:
- 点击文件 |设置 |构建、执行、部署 |构建工具
- 如果是maven,点击maven然后点击Runner,设置JRE使用项目JDK。
- 如果Gradle,点击Gradle然后设置Gradle
JVM
。