关于窗口:不支持的Java版本:无法在Java 1.7下启动:需要Java 1.8或更高版本

Unsupported Java Version: Cannot start under Java 1.7: Java 1.8 or later is required

我刚刚更新到Java JDK 1.8随附的IntelliJ IDEA 16。 Fyi,我很久以前下载了Java JDK 1.8。

我尝试运行正在开发的插件,但我什至无法执行该操作,收到以下错误消息(略有浓缩)

"C:\\Program Files\\Java\\jdk1.7.0_45\\bin\\java" -Xmx512m -Xms256m -XX:MaxPermSize=250m -ea"-Xbootclasspath/a:C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 144.3143.6\\lib\\boot.jar" -Didea.config.path=C:\\Users\\Christopher.IdeaIC14\\system\\plugins-sandbox\\config - ... -Dfile.encoding=windows-1252 -classpath"C:\\Program Files\\Java\\jdk1.7.0_45\\lib\\tools.jar; ... ;C:\\Program Files (x86)\\JetBrains\\IntelliJ IDEA Community Edition 144.3143.6\\lib\\idea_rt.jar" com.intellij.rt.execution.application.AppMain com.intellij.idea.Main

Unsupported Java Version: Cannot start under Java 1.7.0_45-b18: Java 1.8 or later is required.

因此,我清楚地知道问题出在哪里; 但是,我似乎无法弄清楚解决此问题的位置。

到目前为止,我已经尝试了很多东西; 大多数工作涉及使用Settings中的搜索框,然后将我能切换到的版本切换为1.8。 另外,我已经将Java的Environment Variable从1.6更新到了1.8

经过所有这些更改,没有任何效果! 那么,如何解决这个看似简单的问题呢?


设置IDEA_JDK(或IDEA_JDK_64)环境变量。
选中"选择IDE将在其下运行的JDK版本"


TL; DR->将JAVA_HOME设置为C:\ Program Files \ Java \ jdk1.8.0_51

在所有受支持的平台上,从版本16开始运行IntelliJ IDEA都需要Java 8。

IDE使用的实际JDK版本可以在"帮助" |"帮助"中进行验证。关于对话框(打开任何项目以访问菜单)。

1
2
3
4
5
6
7
idea64.exe uses this JDK search in the following sequence:

IDEA_JDK_64 environment variable
..\\jre64 directory
system Registry
JDK_HOME environment variable
JAVA_HOME environment variable


在Arch Linux下,您可以简单地将java 8设置为默认值(必须安装它):

1
$ sudo archlinux-java set java-8-openjdk


如果有人到达这里,而其他解决方案没有运气,请尝试此操作。我在OSX下使用PhpStorm,但这些步骤也可能也适用于JetBrains的其他IDE:

  • 导航到IDE的config文件夹(请参阅本文以了解如何查找此文件夹的位置)。
  • 打开idea.propeties文件。
  • 如果存在JVMVersion属性,请删除整个条目。如果不存在,那么这可能不会有多大帮助!
  • 保存文件。
  • 启动您的IDE。

  • 对于我的Ubuntu 14(32位),我打开了文件:

    1
    /home/<user>/Programs/PhpStorm/bin/phpstorm.sh

    之后

    1
    if ["$JDK" ="" ] && ["$OS_TYPE" ="Linux" ] && ........... fi

    我补充说:

    1
    2
    3
    if ["$JDK" ="" ]; then
        JDK="/usr/lib/jvm/java-8-oracle"
    fi

    然后它起作用了!


    在cmd中运行

    1
    setx JAVA_HOME"C:\\Program Files\\Java\\jdk1.8.0_111"

    不要急于更改为您的Java路径


    只需将JAVA_HOME系统变量设置为JDK 8:

    enter image description here


    我有同样的问题。所有指向Java jdk 8的路径,但仍会引发错误。我可以通过运行bin文件夹中的" studio64.exe"而不是" studio.exe"来运行Android Studio


    除了为全局,每个项目和模块SDK,Java编译器以及语言级别设置正确的Java版本外,还必须为项目和(如果使用maven)为每个项目设置目标字节码版本Maven模块。

    通常项目字节码版本是正确的,但是模块字节码版本较低,即1.5。

    Intellij Idea: target bytecode version for maven module

    通过文件>其他设置>默认设置打开默认首选项时,不显示每个模块的字节码版本。您必须通过快捷方式(即 + )或从如下所示的主菜单中编辑当前首选项(对于Mac):

    Intellij Idea current preferences


    以防万一该页面需要其他建议,我通过转到IDE的配置文件夹(如@Nate所示,请参见此处查找其位置)并删除idea.jdk文件(已保留)来解决此问题。对1.6 VM的引用)。


    IntelliJ 16需要Java 8才能运行,它将无法在Java 7下运行。它已编译为Java 8类,因此永远无法在较早的JVM上运行。
    文档中对此进行了明确说明。

    因此,如果您的系统JVM是较旧的JVM,则除非您强制使用非默认JVM,否则它将无法启动。
    可能在Windows / System32目录中遗留了一些与Java相关的可执行文件,一些较旧的Java安装程序会在其中删除它们。从文件系统中手动删除这些文件,然后看看会发生什么。


    仔细检查您的JAVA_HOME是否指向正确的1.8安装,并确保在PATH env中没有对" C:\ Program Files \ Java \ jdk1.7.0_45 \ bin"的引用。
    尝试从控制台打印您的JAVA_HOME / PATH,看看输出是什么。如果您的更改未反映出来,请注销,然后再次登录。