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

问题描述:

我刚更新为IntelliJ IDEA 16,它随Java JDK 1.8提供。 Fyi,我很久以前就下载了Java JDK 1.8。不受支持的Java版本:无法在Java 1.7下启动:需要Java 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。主意

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

所以,我清楚地知道问题是什么;然而,我似乎无法找出解决这个问题的地点。

到目前为止,我已经尝试了很多东西;大多数涉及使用搜索框Settings和切换任何我可以到版本1.8。此外,我已经将我的Environment Variable for Java从1.6更新到1.8

随着所有这些变化,没有任何工作!那么我该如何解决这个看似简单的问题呢?

+2

检查“文件”菜单下的项目结构部分。还有一些东西需要改变(对不起,我现在还记不清楚) – Avi

+0

你很可能已经设置了JAVA_HOME –

+3

@Avi我认为你的想法是正确的,我在项目结构中看到了对Java 7的引用。编辑:你的想法解决了这个问题。谢谢 –

仔细检查你的JAVA_HOME指向正确的安装1.8,并确保在PATH ENV没有提及 “C:\ Program Files文件\的Java \ jdk1.7.0_45 \ bin” 中。 尝试从从控制台打印您的JAVA_HOME/PATH并查看输出结果。如果您的更改未反映注销,然后再次登录。

+1

我已经检查过那部分。我在我的问题中提到'Environment Variable',并且这些值是正确的 –

设置IDEA_JDK(或IDEA_JDK_64)环境变量。
检查Selecting the JDK version the IDE will run under

+0

无关紧要,IntelliJ 16不能在Java 7或更旧的JVM上运行。 – jwenting

+1

@jwenting - 什么都没有关系?他需要设置JDK_18来启动。他问如何去做。 –

+0

因为他想要在Java 7下运行IntelliJ 16而错误地解决了这个问题,而这绝对不行。 – jwenting

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

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

如果有人来到这里,并没有与其他解决方案有任何运气,试试这个。我使用PhpStorm OSX下,但步骤很可能适用于JetBrains公司其他IDE太:

  1. 导航到IDE的config文件夹中(见this article学习如何找到这个文件夹的位置)。
  2. 打开idea.propeties文件。
  3. 如果存在JVMVersion属性,请删除整个条目。如果它不存在,那么这可能不会有太大的帮助!
  4. 保存文件。
  5. 启动您的IDE。

TL; DR - >设置JAVA_HOME C:\ Program Files文件\的Java \ jdk1.8.0_51

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

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

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 

万一这个页面需要多一个建议,我转到IDE的config文件夹(如@Nate所说的那样,看到here如何找到它),并删除固定在我的情况的问题idea.jdk文件(其中包含对1.6 VM的引用)。

在Arch Linux的,你可以简单的Java 8为默认(你必须有它安装):

$ sudo archlinux-java set java-8-openjdk 
+0

不能相信这不会得到更多的选票。我怎么不知道'archlinux-java' ... - 编辑,哦OP是要求窗口,我现在得到它。 – ShellFish

除了设置了正确的Java版本,面向全球,每个项目和每个模块的SDK,为Java编译器,并且对于语言级别,还必须为项目(如果您使用maven)设置目标字节码版本以用于每个maven模块。

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

Intellij Idea: target bytecode version for maven module

经由文件打开默认偏好>其他设置>默认设置时每个模块字节码版本不显示。你必须或者通过快捷方式编辑当前的偏好(即 + ),或从主菜单,如下图所示(适用于Mac):

Intellij Idea current preferences

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

只需设置JAVA_HOME系统变量为你的JDK 8:在cmd中

enter image description here

运行

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

不foget更改为你的java路径

在我的情况下,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 

然后它的作品!