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

我刚更新到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社区版本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

不受支持的Java版本:无法在Java 1.7.0_45-b18下启动:需要Java 1.8或更高版本。

所以,我清楚地知道问题是什么; 然而,我似乎无法弄清楚在哪里修复这个位置。

到目前为止,我已经尝试了很多东西。 大多数涉及使用Settingssearch框 ,切换到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

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

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

 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 

如果有人来到这里,并没有与其他解决方案运气好,试试这个。 我在OSX下使用PhpStorm,但这些步骤可能也适用于JetBrains的其他IDE:

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

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

 $ sudo archlinux-java set java-8-openjdk 

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

在这里输入图像说明

以cmd运行

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

不要改变到你的java路径

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

IntelliJ 16需要Java 8运行,它不会在Java 7下运行。它被编译为Java 8类,因此它不能在旧的JVM上运行。
这是很好的,在文档中明确提到。

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

为了防止这个页面需要一个更多的建议,我通过转到IDE的配置文件夹来解决这个问题(就像@Nate所说的那样, 在这里查看如何找到它),然后删除idea.jdk文件对一个1.6 VM的引用)。

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

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

Intellij Idea:目标是Maven模块的字节码版本

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

Intellij Idea目前的偏好

我有同样的问题。 指向java jdk 8的所有路径,但仍抛出错误。 我能够通过在bin文件夹中运行“studio64.exe”而不是“studio.exe”来运行Android Studio

在我的情况下,Ubuntu 14(32位),我打开文件:

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

之后

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

我补充说:

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

然后它的工作!