错误:java:javacTask:源版本8需要目标版本1.8
使用IntelliJ IDE无法编译任何项目。 以下设置的屏幕截图:
使用的JDK:
项目SDK和语言级别:
语言水平:
任何人有任何想法?
- 文件>设置>构build,执行,部署>编译器> Java编译器
- 将目标字节码版本更改为您正在使用的模块的1.8 版本 。
如果你正在使用Maven
将编译器插件添加到顶级project
节点下的pom.xml
:
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build>
(从评论中提出)
注意:如果您不介意重新导入您的项目,那么您唯一需要做的就是更改POM并重新导入项目,然后IntelliJ将select正确的设置,而不必手动更改它们。
您需要转到设置并在Java编译器下设置以下内容:
也检查项目设置
这看起来像是在没有正确configuration编译器插件的情况下Maven生成的那种错误。 这是一个Java 8编译器configuration的例子。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <!-- ... --> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> <!-- ... --> </project>
- 按: CTRL + SHIFT + A (对于Mac⌘ + SHIFT + A )
- 键入:
java compiler
- 按: ENTER
在设置窗口中设置目标字节码为1.8
有两种方法可以解决这个问题:
- 设置设置
(File -> Settings -> Build, Execution, Deployment -> Java Compiler)
: - 在你的
pom.xml
添加一个构build部分:
我解决了这个问题,转到项目结构 – > 模块 ,find有问题的模块,单击依赖项选项卡,将Module SDK
更改为Project SDK
。
我只是通过将目标编译版本更改为1.8来修复它。 在里面:
文件>>设置>>构build,执行,部署>>编译器>> Java编译器
关于Maven的许多答案是正确的,但是你不必直接configuration插件。
就像在Apache Maven Compiler Plugin的wiki页面上描述的一样,你可以设置插件使用的两个属性。
<project> [...] <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties> [...] </project>
在我的情况下,我通过打开项目的.iml文件 (它位于项目的根文件夹中,并具有与项目名称相同的名称)并更改行<orderEntry type="jdk" jdkName="1.7" jdkType="JavaSDK" />
到<orderEntry type="jdk" jdkName="1.8" jdkType="JavaSDK" />
我有一切configuration在其他人的答案在这里,但由于某种原因,Idea更新.iml文件不正确。
我通过修改我的POM文件来修复它。 注意最高的投票答案下的最后一条评论。
<plugin> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin>
源必须匹配目标。
对我来说,问题是关于Maven无法find正确的configuration,因为这些项目在父pom中指定。
更改文件 – >设置 – >生成,超时,部署 – > Maven – >用户设置文件指向我的自定义设置与适当的存储库修复了否则隐藏的问题。
通过帮助 – >显示login资源pipe理器 – >单击日志文件,当以前只有在标题中出现错误,并在控制台中出现“java.lang.NullPointerException”时,才发现这个问题。
在compiler.xml文件下你会发现:
<bytecodeTargetLevel> <module name="your_project_name_main" target="1.8" /> <module name="your_project_name_test" target="1.8" /> </bytecodeTargetLevel>
你可以改变目标价值从旧到新的我需要改变它从1.5到1.8
该问题的解决scheme非常简单 。您必须在您的İdea项目上打开.idea / compiler.xml文件
你应该编写适当的目标版本
使用Intellij ,使用Maven ,您必须检查Intellij是否自动导入您的项目。 您可以通过点击编辑器右侧的Maven选项卡进行检查。
如果您的项目不在这里,请点击+
添加pom.xml
文件。
很显然,项目也必须有相关的<build/>
:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin>
如果您正在使用Android-studio 1.3,请按照以下步骤操作 –
转到文件 – 项目结构
在modules – app – Properties选项卡下,selectSource Compatibility – 1.8和
目标兼容性 – 1.8 。
你很好走。
您需要转到/.idea/compiler.xml
并将target
更改为所需的jdk
级别。