错误:java:无效的源代码发布:8 Intellij。这是什么意思?

我试图在我使用Intellij终极13.1.4编译一些代码,但我得到以下错误,我不知道这意味着什么:

Information:Using javac 1.7.0_55 to compile java sources
Information:java: Errors occurred while compiling module 'Example'
Information:Compilation completed with 1 error and 0 warnings in 3 sec
Information:1 error
Information:0 warnings
Error:java: invalid source release: 8

我的猜测是它与Java 8和Java 7有关,但我不知道具体是什么。我试图谷歌周围的这条消息,但他们要么谈论javactarget release,所以它似乎并不完全适用。

338703 次浏览

我在将一个项目从Java 8“降级”到Java 6时也遇到了同样的问题。原因是IntelliJ中的所有地方都没有更改。

在IntelliJ 13.1.4中,我不得不在以下地方更改Java和SDK版本,以避免出现此错误:

  • 文件->项目结构->项目设置
  • <李>文件- > 项目结构->模块设置->选项卡:来源:语言级别
  • 文件->项目 结构->模块设置->选项卡:依赖项:模块SDK
  • File -> Settings -> Compiler -> Java Compiler ->目标字节码 李版< / >

文件>屏幕截图;项目结构及gt;项目 < / >

文件>屏幕截图;项目结构及gt;模块在源 < / >

文件>屏幕截图;项目结构及gt;模块在依赖 < / >

文件>屏幕截图;设置/偏好比;编译器比;Java编译器 < / >

最后一颗子弹在我的案例中没有更新。一旦我修改了这个,错误就消失了。

首先检查你的pom.xml(如果你有一个)
检查模块的JDK依赖关系。确保它是1.8
为此,转到项目结构-> SDK
添加路径到你存储1.8(在我的例子中是jdk1.8.0_45.jdk)
的地方 应用
的更改 现在,转到项目结构- >模块
将模块SDK更改为1.8
应用更改

瞧!你完成

如果你使用Gradle作为构建工具,并且在执行Gradle任务(即TomcatRun)时得到这个错误,请看看我对同一问题的另一个答案

javac: invalid target release: 1.8

Andreas Lundgren的回答起作用了,我能够编译并运行我的应用程序。

但是,当我试图运行项目相关的JUnit测试时,我收到了相同的错误。运行

gradle -version

从Windows命令提示符显示gradle仍然选择不正确的jdk。为了解决这个问题,我必须设置JAVA_HOME环境变量以指向正确的jdk并重新启动IntelliJ。

pom.xml 1.6更改为1.8

<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>

对于有这个问题的Gradle用户,如果上面没有帮助,这就是解决我的问题的方法——在你的构建中应用这个声明。gradle文件:

targetCompatibility = 1.6 //or 1.7;1.8 and so on
sourceCompatibility = 1.6 //or 1.7;1.8 and so on

问题解决了!

对于Grails用户,在BuildConfig中应用这些声明。groovy文件:

grails.project.target.level = 1.6 //or 1.7;1.8 and so on
grails.project.source.level = 1.6 //or 1.7;1.8 and so on

它可以通过设置Project Structure简单地克服。您只需要为JDK版本选择正确的路径即可。在dependencies选项卡上选择new,并选择路径。这是完成了!

enter image description here

您需要单击到该项目 打开“模块设置”,修改JDK的路径,如果POM文件中使用的是JDK 1.8,则配置JDK 1.8的正确路径

我检查了上面所有说的项目版本,模块版本,项目字节码版本,目标字节码版本设置在IntelliJ Idea中,但所有都是相同的。

我在IntelliJ Idea 2017.2.6中遇到了这个错误Error:java: invalid source release: 1.8,因为我升级了依赖版本Maven pom文件,它(依赖)应该是为JDK 1.8应用程序构建的,我在maven编译器源和目标JDK 1.7上构建我的应用程序。

因此,我再次将依赖版本降级为Maven pom中的早期版本,并且在项目重建模块“xyz_project”后错误消失了。

我在这个答案https://stackoverflow.com/a/26009627/4609353中添加了一个未提及的路径

但是非常重要的是编辑配置

one more path

我尝试了这里https://stackoverflow.com/a/26009627/2058104中提到的所有步骤,但第4点现在已经改变了。你需要去首选项->构建,执行,部署->编译器-> Java编译器

在那里,如下图所示,您需要更改“目标字节码版本”。虽然,我把它改成了8(因为我需要降级到Java 8),但它总是一次又一次地给出相同的错误。因此,尝试删除现有条目(在此表中)并重新添加它。这对我很管用。

enter image description here

另一方面,清理项目并尝试再次运行。

我也有同样的问题,解决方案是在pom.xml文件中更改我的java版本。

我把它从11改为8。 enter image description here < / p >

很多好答案。 对于那些使用(几乎)最新版本的Intellij的人来说,在撰写本文时,可以说的是,项目JDK可以处于比模块更高的级别。 事实上,如果没有它,Maven将不得不回滚到旧版本。 因此,使用以下版本的Intellij: enter image description here < / p > 一个人不应该改变项目级别的JDK,因此在构建时能够利用Maven或Gradle设置,但在运行Maven或Gradle时使用更现代的JDK版本。 如果你把项目级别的JDK从JKD8降低到JDK6, Maven或Gradle将无法运行

如果你使用module rebuild或build选项,将你的模块保持在较低的jdkwise级别将使你能够将它构建到该版本;使用菜单选项重建项目会抱怨“无效的源代码发布:8…”。

正如Andreas所提到的:

Error:java: invalid source release: 8 in IntelliJ
Error:java: invalid source release: 13 in IntelliJ
Error:java: invalid source release: 14 in IntelliJ...

或者无论你在Java中使用什么版本…

如果你没有匹配下面的代码,问题就会存在:

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

这个1.8在我的情况下,必须匹配在您的设备上通过MAVEN项目库,设置,首选项,项目设置和SDK。

我最近也面临着同样的问题。 这个错误显示在我的屏幕上运行我的项目主文件后。 错误:java:无效的源代码发布:11 请按照以下步骤解决此错误

  1. 文件->项目结构->项目
  2. 单击“项目SDK”下的“新建”按钮:添加最新SDK,单击“确定”。

enter image description here

运行后,您将看到错误已解决。

enter image description here

如果你得到这个ERROR: ERROR: java: invalid source release: 12 编译模块“IdeaProjects”时发生错误 信息:javac 1.8.0_211用于编译java源代码 信息:模块“IdeaProjects"由于项目配置/依赖项更改而完全重新构建 信息:7/12/2021晚上8:21 -构建完成,6 s 323毫秒内出现1个错误和0个警告 错误:java: invalid source release: 12

enter image description here

然后

enter image description here 选择您以前版本的项目

在我身边:

enter image description here

完成了

如果你得到解决你的IDE然后消息我www.betechnical.tech 或amankushwaha9918@gmaill.com < / p >

在我的例子中,细微差别是我得到了一个无效的源代码版本11(而不是OP的8)。我尝试了上面所有的解决方案

  • Gradle JVM版本,Java编译器字节码版本,模块语言。

我把上面所有的都设置为java 8(或1.8),因为这是我机器上的库。

问题在于构建。Gradle文件有

sourceCompatibility = '11'

将此更改为8,它停止抛出'compile failed invalid release 11'错误

解决方案参考:github论坛