我最近下载了捆绑NetBeans的JDK 1.8.0.0_06版本。接着发现我之前用Java 1.7开发的JavaFX项目无法在Java 1.8上编译,于是我将JDK降级到1.7,但仍然无法得到工作/编译。我收到了如下错误:
javac: invalid target release: 1.8
Usage: javac <options> <source files>
我真的卡住了,非常感激任何帮助。
我最近下载了捆绑NetBeans的JDK 1.8.0.0_06版本。接着发现我之前用Java 1.7开发的JavaFX项目无法在Java 1.8上编译,于是我将JDK降级到1.7,但仍然无法得到工作/编译。我收到了如下错误:
javac: invalid target release: 1.8
Usage: javac <options> <source files>
我真的卡住了,非常感激任何帮助。
对于IntelliJ14,您可能需要根据使用的JDK更改字节码版本(在全局设置中):
如果您要下台,请将项目的源更改为1.7。
right click on your Project -> Properties -> Sources window
并将此处设置为 1.7
注:不过我建议您找出它在 1.8 上为什么不起作用
编辑环境变量JAVA_HOME
,将其指向新安装的JDK 1.8:
右键单击“我的电脑”→属性→高级系统设置→环境变量
在列表中找到JAVA_HOME
并将其值设置为以下内容之一:
C:\Program Files\Java\jdk1.8.0_31
在 PATH
变量中寻找旧版本并进行编辑。
应该完成了。
您的javac没有指向正确的java。
使用以下命令检查您的javac指向何处 -
update-alternatives --config javac
如果它没有指向您想要进行编译的javac,请将其指向"/JAVA8_HOME/bin/javac",或者您想要进行编译的任何Java版本。大多数情况下,这些问题是由于Java版本不正确引起的。确保您的PATH和JAVA_HOME变量指向正确的版本。
Maven设置:
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
之前的解决方案都对我没用。
我通过编辑.idea/compiler.xml文件来解决它。有一些“额外”的(1)和(2)副本,具有不同的目标的坏模块。我删除了多余的条目,并将
如果以上建议无效,针对截至2017年12月18日最新版本的IntelliJ IDEA Ultimate,请尝试以下步骤:右键单击项目并导航到“打开模块设置”。打开它,然后从下拉菜单中更改“语言级别”。
<java.version>1.8</java.version>
to
<java.version>1.7</java.version>