javac:无效的目标版本:1.8

我最近下载了与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> 

我真的卡住了,非常感谢任何帮助。

如果你要下台,那么把项目的源代码改为1.7,

 right click on your Project -> Properties -> Sources window 

在这里设置1.7

注意:不过我build议你弄清楚为什么它不能在1.8上运行

对于IntelliJ14,您可能需要更改所用JDK的字节码版本(在全局设置中):

在这里输入图像说明

  1. 下载JDK 8 。
  2. 编辑JAVA_HOME的env var,指向新安装的JDK 1.8:在我的电脑 – >属性 – >高级系统设置 – >环境variables上单击鼠标右键,在列表中findJAVA_HOME ,并将其值设置为:

     C:\Program Files\Java\jdk1.8.0_31 
  3. find旧版本,并在PATHvariables中编辑它。

  4. 可能您需要重新启动系统。

需要被完成。

如果在运行Gradle(或Maven)任务时发生此错误,则需要修改该构build工具configuration以指向此路由之后的Java JDK 1.8安装:

文件 – >设置 – >生成,执行,部署 – >生成工具 – > Gradle

在那里你检查链接Gradle项目是你正在工作的,并selectGradle JVM(当你将Gradle项目导入到IntelliJ中时,你错过了这个)

在这里输入图像说明

请记住,在导入Gradle(或Maven)项目以在此处正确设置目标JVM时: 在这里输入图像说明

你的javac没有指向正确的java。

使用以下命令检查您的javac指向的位置 –

 update-alternatives --config javac 

如果没有指向要编译的javac,则将其指向“/ JAVA8_HOME / bin / javac”,或者要编译哪个java。

大多数情况下,这些types的问题都是由于java版本不正确而发生的。 确保你的PATH和JAVA_HOMEvariables指向正确的版本。

Maven设置:

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

以前的解决scheme没有为我工作。

我通过编辑.idea / compiler.xml来解决它。有不同目标的坏模块的“额外”(1)和(2)副本。 我删除了外部委托,并将该部分中的目标更改为1.8,并且工作。

如果你要下台,那么把项目的源代码改为1.7,

右键点击你的Project – > Properties – > Sources窗口,在这里设置1.7“Jigar Joshi

也去到build-impl.xml并寻找属性excludeFromCopy="${copylibs.excludes}"并删除我的代码上的这个属性是在827行,但我已经看到它在其他行

对于我是从MAC OS的Java 1.8到WIN XP的Java 1.7的代码

或者,我检查了pom.xml并进行了更改

 <java.version>1.8</java.version> 

 <java.version>1.7</java.version> 

我用netbeans得到了同样的问题,但是在cmd窗口中mvn build是可以的。 对于我来说,在更改netbeans的JDK(如下面的netbeans.conf)后,问题解决了

netbeans_jdkhome =“C:\ Program Files \ Java \ jdk1.8.0_91”

编辑:似乎这里提到: netbeans错误236364