IntelliJ:Error:java:Error:release版本5不受支持
我正在使用IntelliJ IDEA Ultimate 2019.3.1。每当我尝试启动任何简单的Java Maven项目(甚至可能是一个简单的Hello World)时,我都会遇到以下错误:IntelliJ:Error:java:Error:release版本5不受支持,java,intellij-idea,Java,Intellij Idea,我正在使用IntelliJ IDEA Ultimate 2019.3.1。每当我尝试启动任何简单的Java Maven项目(甚至可能是一个简单的Hello World)时,我都会遇到以下错误: Error:java: error: release version 5 not supported 通过终端运行java--version,我得到以下输出: openjdk 11.0.5 2019-10-15 OpenJDK Runtime Environment (build 11.0.5+10-p
Error:java: error: release version 5 not supported
通过终端运行java--version
,我得到以下输出:
openjdk 11.0.5 2019-10-15
OpenJDK Runtime Environment (build 11.0.5+10-post-Ubuntu-0ubuntu1.1)
OpenJDK 64-Bit Server VM (build 11.0.5+10-post-Ubuntu-0ubuntu1.1, mixed mode, sharing)
javac 11.0.5
通过终端运行javac--version
,我得到以下输出:
openjdk 11.0.5 2019-10-15
OpenJDK Runtime Environment (build 11.0.5+10-post-Ubuntu-0ubuntu1.1)
OpenJDK 64-Bit Server VM (build 11.0.5+10-post-Ubuntu-0ubuntu1.1, mixed mode, sharing)
javac 11.0.5
转到Java编译器的设置(如建议的),我看到:
我尝试将“目标字节码版本”编辑为1.8,但出现以下错误:
Error:(1, 26) java: package javafx.application does not exist
Error:(2, 20) java: package javafx.stage does not exist
Error:(4, 27) java: cannot find symbol
symbol: class Application
Error:(12, 23) java: cannot find symbol
symbol: class Stage
location: class Main
Error:(7, 9) java: cannot find symbol
symbol: method launch(java.lang.String[])
location: class Main
Error:(11, 5) java: method does not override or implement a method from a supertype
将其更改为版本1.11会出现以下错误:
Error:java: Source option 5 is no longer supported. Use 6 or later.
你认为问题出在哪里?我如何解决它?请参阅
首先,在pom.xml
中设置语言级别
/发布版本
,如下所示:
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
此外,请尝试在以下每个位置更改Java版本:
文件->项目结构->项目->项目SDK->11
文件->项目结构->项目->项目语言级别->11
文件->项目结构->项目->模块->->源-->11
在project->ctrl+alt+s->构建、执行、部署->编译器->Java编译器->项目字节码版本->11中
在project->ctrl+alt+s->Build,Execution,Deployment->Compiler->Java Compiler->Module->1.11中。如果使用spring boot作为父级,则应设置Java.version属性,因为这将自动设置正确的版本
11
在您自己的项目中定义的属性将覆盖在父pom中设置的任何内容。这将覆盖编译为正确版本所需的所有属性
这里可以找到一些信息:我花了一段时间才聚合出一个实际的解决方案,但这里介绍了如何消除这个编译错误
我将以下代码添加到我的
pom.xml
文件中。它解决了我的问题
UTF-8
1.8
1.8
您只需在pom.xml中添加这两行即可。在那之后,你的问题就解决了
1.8
1.8
在IntelliJ中,打开pom.xml文件
在
之前添加此节(如果您的文件已经有
节,只需将下面的
行添加到现有节):
1.8
1.8
如果您使用的是IntelliJ,
转到设置=>编译器
然后将版本更改为当前的java版本。在我的例子中,唯一有效的解决方案是将以下块添加到
pom.xml
:
org.apache.maven.plugins
maven编译器插件
3.8.0 12
默认情况下,您的“项目字节码版本”未在maven Project中设置
它认为您当前的版本是5
解决方案1:
只需转到“项目设置>构建、执行…>编译器>java编译器”,然后将字节码版本更改为当前的java版本
解决方案2:
在POM文件中添加以下构建插件:
1.8
3.8.1
1.8
1.8
org.apache.maven.plugins
maven编译器插件
${maven.compiler.version}
${java.version}
${java.version}
问题的解决方案已经在一些答案中定义。但是仍然需要表达一个细节。问题完全与maven有关,解决方案也在pom.xml配置中。IntelliJ只读取maven配置,如果配置有错误信息,IntelliJ也会尝试使用它
如大多数答案所示,要解决这个问题,只需将以下属性添加到项目的pom.xml中
1.8
1.8
之后,在IntelliJ端,重新导入maven配置。要重新导入maven配置,右键单击项目的pom.xml文件并选择重新导入。IntelliJ首选项中的编译器版本相关信息将根据pom.xml中的值自动更新。我已经完成了您建议的大多数操作Java编译器和字节码,解决了过去的问题。 我运行Java代码已经快一个月了(当时一切都已修复),但现在问题又出现了。 不知道为什么,不过很恼火 这次的解决方案是: 右键单击项目名称->打开模块设置F4->语言级别 …在那里,您可以定义项目/pc的语言级别
过去和现在都没有maven/pom配置对我有效,我已经将Java编译器和字节码设置为12。我完成了上述所有操作,但不得不在IntelliJ中再做一件事: 项目结构>模块
我必须更改IntelliJ中每个模块的“语言级别”,默认maven编译器版本低于版本5,这是不受支持的,因此我们必须手动更改maven编译器的版本 我们有两种方法来定义版本 第一种方式:
1.8
1.8
第二种方式:
org.apache.maven.plugins
maven编译器插件
3.8.0
8.
8.
伙计们,在对这个问题进行了大量研究之后,我也遇到了这个问题,我找到了3种解决方案来解决这个问题
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
</dependency>
For me in Intelij click on File -> Project Structure -> select the modules in language level select 11 - Local variable syntax for lambda parameters, click em aply.
Run in terminal mvn clean install.