javac:无效的目标版本:1.8。

91

我最近下载了捆绑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
如果你要退出,那么也将你的项目源更改为1.7版本。右键点击你的“项目 -> 属性 -> 源窗口”,在这里设置为1.7。 - jmj
你是救命恩人@Jigar Joshi!!!再次感谢*****。我非常感激。您可以将您的回复作为答案,这样我就可以接受它了。哇!再次感谢。我已经卡了很久了! - Program-Me-Rev
如果你的项目在Java 1.8下无法编译,那么你很可能做错了一些非常严重的事情(例如,在你发布的其他问题中的代码中有UI组件的静态字段,这是一个严重的设计错误)。最好解决这个问题,而不是仅仅回退到许多用户将来会升级的版本。 - James_D
你说得对,@James_D。这是我在Java中的第一个项目。我基本上是自学编程的,直到现在才完全理解了避免使用静态成员、接口以及多态性等方面的知识。我的项目太大了,无法一次性编辑。我计划在完成其他剩余部分后,逐步通过Spring进行依赖注入来进行编辑。这是一个痛苦的教训,但我已经学到了。 - Program-Me-Rev
1
有Java版本1.8.0、1.8.0_05和1.8.0_11,但是并不存在1.8.0.0_06这个版本。 - David Conrad
16个回答

1

只需执行this。然后使IntelliJ缓存无效 (文件 -> 使缓存无效)


1
如果你要退出,那么也将你的项目源更改为1.7版本, 右键单击您的项目->属性->源窗口并在此处设置1.7" Jigar Joshi
还要进入build-impl.xml文件,并查找excludeFromCopy="${copylibs.excludes}"属性并删除该属性,我的代码在第827行,但我已经看到它在其他行上
对我来说是将代码从MAC OS java 1.8转移到WIN XP java 1.7版本

1
我在netbeans中遇到了同样的问题,但是在cmd窗口中mvn build是正常的。对我来说,在更改了netbeans的JDK(如下所示的netbeans.conf)之后,问题得到了解决,

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


编辑:似乎在这里提到了:netbeans bug 236364


0
我只是欺骗了构建系统,并将Java 8路径放入我的Maven的toolchains.xml文件的Java 7部分中:
  <toolchain>
    <type>jdk</type>
    <provides>
      <version>1.7.0_80</version>
      <vendor>sun</vendor>
    </provides>
    <configuration>
      <!--jdkHome>C:\Program Files\java\jdk1.7.0_80</jdkHome-->
      <jdkHome>C:\Program Files\java\jdk1.8.0_281</jdkHome>
    </configuration>
  </toolchain>

0

我在 IntelliJ IDEA Community 中使用 Maven 时遇到了同样的问题,不得不通过右键单击项目选项卡中的项目 -> Maven -> 重新导入来重新导入项目。


-1
安装新版本的IDEA社区版(2018.3而不是2017.x)解决了我的问题,该问题与Java版本:11相同。 重新导入对我没有起作用。但值得一试。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接