我正在尝试构建使用Java 8构建的应用程序,现在它已升级到Java11。我在我的 windows计算机中使用Java 11安装了an oracle article使用 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,但这无济于事。另外,请验证Target bytecode version
中的settings > Build, Execution, Deployment > Compiler > Java Compiler
,并将我所有的模块都设置为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
,但出现错误,提示“所选目录不是JDK的有效主目录”
我不确定是否安装了错误的JDK 11,因为在我的C:\Program Files\Java\
中,我分别看到1.7
和1.8
的jdk和jre文件夹,而{{ 1}}
还是我需要更改的其他内容?
答案 0 :(得分:11)
2021 年 1 月 6 日
这对我有用。
转到文件 -> 项目结构并选择窗口右侧面板上的“依赖项”选项卡。然后使用这样的下拉菜单更改“模块 SDK”。然后应用更改。
答案 1 :(得分:7)
下面的更改对我有用,希望同样对您有用。
在pom.xml文件中将Java的版本从11更改为8
转到,文件->设置->构建,执行,部署->编译器-> Java编译器
在这里,在模块列中可以看到您的项目,在目标字节码版本列中,已经指定了该项目的Java版本(大多数为11),将其更改为 8
转到,文件->项目结构->模块。在这里,在源标签中,您可以看到语言级别选项,选择 8-Lambda,输入注释等。。最后,选择“应用”,然后单击“确定”,一切顺利。
答案 2 :(得分:5)
我遇到了与格里高里·尤申科(Grigoriy Yuschenko)所说的相同的问题。 相同的Intellij 2018 3.3
我能够通过设置来启动我的项目(如格里高里所说)
文件->项目结构->模块->>语言级别为8(我的maven项目设置为1.8 java)
AND
文件->设置->构建,执行,部署->编译器-> Java编译器-> 8也在那里
我希望它会有用
答案 3 :(得分:5)
如果您使用的是Springboot,请检查pom.xml文件中的Java版本
<properties>
<java.version>11</java.version>
</properties>
如果此版本与您的计算机的默认版本(Java)不匹配,则可能会发生此错误。
答案 4 :(得分:4)
我遇到了这个问题,因为我当前正在将代码库升级到JDK 11,并且在分支中的8和11之间切换。看来IntelliJ不喜欢这样。
解决方案:
如果您在项目结构(Ctrl+Shift+Alt+S
中选择了当前的JDK并仍然收到错误,请使缓存File > Invalidate Caches / Restart...
无效。
重新启动IDE后,我的错误消失了。
答案 5 :(得分:3)
现在我没有收到这些通知和错误消息。
这对于像我这样的人,具有最新的想法并遇到相同的错误可能很有用。
答案 6 :(得分:3)
我最近遇到了同样的问题。 运行项目主文件后,此错误显示在我的屏幕上。 错误:java:无效的源发行版:11 请按照以下步骤解决此错误
运行后,您将看到错误已解决。.
您可以看到它运行正常。 如果发现任何问题,请与我联系
答案 7 :(得分:3)
请update到IntelliJ IDEA 2018.x获得Java 11支持。您的IntelliJ IDEA版本是在Java 11之前发布的,并且不支持该Java版本。
答案 8 :(得分:2)
我的项目模块设置为8,但pom.xml设置为11。当我在模块中从8更改为11时,它起作用了。
答案 9 :(得分:2)
如果通过构建系统(Maven,Gradle等)构建项目有效,但是IntelliJ显示Invalid target release
错误,则执行以下操作,
关闭IntelliJ
转到项目目录
删除.idea /目录
从项目目录启动IntelliJ
这将重新创建.idea /目录,并且不再显示错误
答案 10 :(得分:2)
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)
答案 11 :(得分:1)
我也遇到了同样的错误,我只是将pom.xml中的Java版本从11更改为1.8,所以一切正常。
答案 12 :(得分:1)
我也遇到了类似的错误,但在我的情况下是Error:java:无效的源发行版:11 ...所以我只是将Java 11的所有注释都更改为Java 8,即使注释是Java 8,我就这样离开我希望它可以帮助您解决问题。
答案 13 :(得分:1)
我可以说我有类似的问题。我的情况:我在工作区中从项目的新版本切换到旧版本,尝试运行需要重新编译的单个junit,使用无效目标抛出了重新编译错误。
从IntelliJ中的Projects设置(F4),一切看起来都很好,并且Java设置为1.7。但是,当我尝试从IDE重新编译时,由于目标级别错误而引发了错误。检查后,我发现在一种iml文件语言中将其设置为JDK_11。手动更改为JDK_1_7后,一切恢复正常。
还可以在IDE创建的* iml文件中手动检查lang级别。
答案 14 :(得分:1)
在该
答案 15 :(得分:1)
试试这个
<properties>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.source>1.8</maven.compiler.source>
</properties>
答案 16 :(得分:1)
2021 年 1 月 12 日
我的重点是在我的 pom.xml 中明确指定版本为 java 11,我通过采取以下步骤解决了这个问题。
打开终端并输入:java -version,然后我得到了 1.8,然后我去 .bash_profile 将 java 版本切换到 11.2,因为我安装了多个 java 版本。请记住“重启”您的终端并再次检查您的java版本以确认切换成功。
然后我转到文件 -> 项目结构以确保我的 IntelliJ 使用与我的 env 相同的版本,即 11.2。
重启你的 Intellij,mvn 干净安装,解决了,希望这可以帮助有同样问题的人,谢谢。
答案 17 :(得分:0)
我尝试了以上所有方法,发现了这种秘密调味酱
答案 18 :(得分:0)
我遇到了同样的 java 11 目标错误,我的问题是 maven-compiler-plugin 过时的版本。 升级到最新版,一切正常
答案 19 :(得分:0)
在较新版本的 Intellij 中,检查 jdk 11 是否已正确配置:
Open Module Settings
。检查下面列出的设置:
File > Settings > Java Compiler
。检查以下设置:
答案 20 :(得分:0)
更新我的想法后遇到了相同的错误,我按以下步骤解决了该问题:
文件>>项目结构... >>项目
“项目语言级别:”设置为“ 11-lambda参数的本地变量语法” 所以我将其更改为“ SDK默认值(8-Lambda,键入注释等)”,然后应用了更改 并且错误已解决。
答案 21 :(得分:0)
只是有同样的错误。问题是我有空的package-info.java file
。当我在其中添加软件包名称后,就可以使用...
答案 22 :(得分:0)
我在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路径
答案 23 :(得分:0)
对我来说,我遇到了同样的问题,但与java v8
一样,我在我的机器上为不同的项目使用了不同版本的Java。在导入我的项目之一时,我遇到了同样的问题。为了检查配置,我检查了所有与SDK相关的设置,无论是在File->Project->Project Structure / Modules
中还是在“运行/调试”配置中。我设置为java-8
的所有内容,但仍然遇到相同的问题。在检查所有配置文件时,我发现.idea中的editor.xml的bytecodeTargetLevel条目已设置为11。即使将其显示为相同的编译器输出并删除 <来自<bytecodeTargetLevel target="11" />
的em> compiler.xml
解决了该问题。
答案 24 :(得分:0)
我更改了文件->项目结构->项目设置->模块在源选项卡中,我将语言级别从14、11设置为“ Project Default”。这解决了我的问题。
答案 25 :(得分:0)