我使用的是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-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编译器的设置(如这里所建议的),我看到:
我尝试将“目标字节码版本”编辑为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.
你认为问题出在哪里?我该怎么解决?
16条答案
按热度按时间3pmvbmvn1#
在我的例子中,唯一有效的解决方案是在
pom.xml
:zvms9eto2#
在intellij中,默认的maven编译器版本低于版本5,这是不受支持的,因此我们必须手动更改maven编译器的版本。
我们有两种方法来定义版本。
第一种方式:
第二种方式:
klsxnrf13#
转到src folder/然后是main folder//然后是sources file///取消标记目标文件夹exclude///使用
ebdffaop4#
只需在pom.xml中添加这两行。在那之后,你的问题就没有了。
iqjalb3h5#
如果您使用springboot作为父级,那么应该设置java.version属性,因为这将自动设置正确的版本。
在您自己的项目中定义的属性将覆盖父pom中设置的任何内容。这将覆盖编译到正确版本所需的所有属性。
以下是一些信息:https://www.baeldung.com/maven-java-version
kcrjzv8t6#
就我而言,把这部分加到
pom.xml
文件:juud5qan7#
伙计们,我也遇到了这个问题,经过这么多的研究,我找到了3个解决这个问题的办法
在pom.xml中添加这些属性//抱歉格式化了
<properties><java.version>1.8</java.version<maven.compiler.version>3.8.1</maven.compiler.version<maven.compiler.source>1.8</maven.compiler.source<maven.compiler.target>1.8</maven.compiler.target><java.version>11</java.version></properties>
删除目标字节版本中的所有内容,可以在intellij的java编译器设置中找到删除低于目标字节版本的所有内容使其为空
在依赖项中查找您正在使用的appium版本。在这里,我使用7.3.0在pom.xml的依赖关系中查找您正在使用的appium的版本
然后在java编译器的目标字节版本中编写您的版本,在此处输入图像描述
享受代码>>>希望对你有用
rt4zxlrg8#
我做了上面的所有事情,但在intellij中还必须做一件事:
项目结构>模块
我必须改变每个模块的“语言水平”
c6ubokkw9#
我已经用java编译器和字节码完成了您提议的大多数事情,并在过去解决了这个问题。我运行java代码已经快一个月了(那时一切都已修复),但现在问题又出现了。不知道为什么,不过很恼火!
这一次的解决方案是:右键单击“项目名称”->“打开模块设置f4”->“语言级别…”,在那里您可以定义您的项目/pc的语言级别。
过去和现在都没有maven/pom配置适合我,我已经将java编译器和字节码设置为12。
11dmarpk10#
默认情况下,maven项目中没有设置“project”字节码版本。
它认为你现在的版本是5。
解决方案1:
只需进入“项目设置>构建,执行…>编译器>java编译器”,然后将字节码版本更改为当前的java版本。
解决方案2:
正在pom文件中添加以下生成插件:
ncecgwcz11#
在intellij中,打开pom.xml文件。
在前面添加此部分
<dependencies>
(如果您的文件已有<properties>
节,只需添加<maven.compiler...>
以下行到现有部分):wfveoks012#
我花了一些时间来聚合一个实际的解决方案,但下面是如何消除这个编译错误。
打开intellij首选项。
搜索“compiler”(或类似“compi”的内容)。
向下滚动到maven-->java编译器。在右边的面板中,将列出模块及其相关的java编译版本“target bytecode version”
选择版本>1.5。如果jdk不可用,您可能需要升级jdk。
jecbmhm313#
如果您使用的是intellij,请转到setting=>compiler并将版本更改为当前的java版本。
nfg76nw014#
这个问题的解决方案已经在一些答案中确定了。但仍然需要表达一个细节。这个问题完全与maven有关,解决方案也在pom.xml配置中。intellij只读取maven配置,如果配置有错误的信息,intellij也会尝试使用它。
要解决这个问题,如大多数答案所示,只需将以下属性添加到项目的pom.xml中。
之后,在intellij端,重新导入maven配置。要重新导入maven配置,右键单击项目的pom.xml文件并选择reimport。intellij首选项中的编译器版本相关信息将根据pom.xml中的值自动更新。
vd8tlhqk15#
我将以下代码添加到
pom.xml
文件。它解决了我的问题。