我用IntelliJ IDEA Ultimate 2019.3.1.每当我try 启动任何简单的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-post-Ubuntu-0ubuntu1.1)
OpenJDK 64-Bit Server VM (build 11.0.5+10-post-Ubuntu-0ubuntu1.1, mixed mode, sharing)

通过终端运行javac --version,我得到以下输出:

javac 11.0.5

转到Java编译器的设置(如建议的here),我看到:

Java Compiler Settings

我try 将"Target bytecode version"编辑为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.

你认为问题出在哪里?我该怎么解决呢?

推荐答案

参见第https://stackoverflow.com/a/12900859/104891页.

首先,将pom.xml中的language level/release versions设置为:

<properties>
  <maven.compiler.source>1.8</maven.compiler.source>
  <maven.compiler.target>1.8</maven.compiler.target>
</properties>

否则,Maven会将默认值设置为1.5.如果您还没有将maven-compiler-plugin包括在内,您还需要将其包括在内:

<dependency>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>3.8.1</version>
</dependency>

此外,请try 在以下每个位置更改Java版本:

File -> Project structure -> Project -> Project SDK -> 11.

File -> Project structure -> Project -> Project language level -> 11.

File -> Project structure -> Project -> Modules -> -> Sources --> 11

In project -> ctrl + alt + s -> Build, Execution, Deployment -> Compiler -> Java Compiler -> Project bytecode version -> 11

In project -> ctrl + alt + s -> Build, Execution, Deployment -> Compiler -> Java Compiler -> Module -> 1.11.

Java相关问答推荐

在Java 8之后,HashMap的最坏情况下时间复杂度仍然是O(n)而不是O(log n)?

Java取消任务运行Oracle查询通过JDBC—连接中断,因为SQLSTATE(08006),错误代码(17002)IO错误:套接字读取中断

如何在Java中声明未使用的变量?

无法传递消费者<;>;实例

Java .类参数不通过构造函数传递

如何打印本系列的第n项y=-(1)-(1+2)+(1+2+3)+(1+2+3+4)-(1+2+3+4+5)...Java中的(1+2+3+4...+n)

SpringBootreact 式Web应用程序的Spring Cloud Configer服务器中的资源控制器损坏

存根基类的受保护方法

使用Testcontainers与OpenLiberty Server进行集成测试会抛出SocketException

Chunk(Int)已弃用并标记为要删除

无法初始化JPA实体管理器工厂:无法确定为Java类型<;类>;推荐的JdbcType

Java-动态绑定-问题-了解

使用OAuth 2.0资源服务器JWT时的授权(授权)问题

使用正则表达式从字符串中提取多个值

FETCH类型设置为LAZY,但它仍会发送第二个请求

在Spring Boot JPA for MySQL中为我的所有类创建Bean时出错?

在Java泛型中使用通配符时,如何推断类型

TinyDB问题,无法解析符号';上下文&

HBox内部的左对齐按钮(如果重要的话,在页码内)

Java返回生成器的实现