为intelliJ设置JAVA_HOME?

Posted

技术标签:

【中文标题】为intelliJ设置JAVA_HOME?【英文标题】:Setting JAVA_HOME for intelliJ? 【发布时间】:2013-06-27 01:51:45 【问题描述】:

所以我决定今天尝试 android studio 的 beta,但它拒绝在我的 32 位 JRE 上运行。我可以下载 64 位 JRE,但由于各种原因(我当前的 32 位 eclipse IDE、Processing IDE 和 Minecraft 不喜欢 64 位),我对它作为我的默认 JRE 不感兴趣,我认为一直在切换 java_home 目录会很麻烦。

那么 intelliJ 是否有某种方法可以像 eclipse 在其 ini 中那样设置替代 JAVA_HOME 目录?

【问题讨论】:

【参考方案1】:

在 IntelliJ 中,您可以指定在项目级别使用哪个 SDK。转到“文件”->“项目结构”-> SDK(左侧列表),您可以添加/删除不同 SDK 的路径

其他解决方案:如果您使用 Windows,那么我认为您可以将 JAVA_HOME 指定为仅为 IntelliJ 的系统属性。如果您使用 Linux,则解决方案类似。

【讨论】:

你知道我是如何像你描述的那样设置系统属性的吗? 如何“您可以将 JAVA_HOME 指定为仅用于 IntelliJ 的系统属性。” ?我找不到任何简单的步骤来做到这一点 我不相信第一位回答了这个问题,第二位不够具体。 我总是忘记这个。【参考方案2】:

我为此使用 IDEA_JDK(在 linux 上)。

我相信它是 android studio 的 STUDIO_JDK。

有关此 IDE 和其他 jetbrains IDE 的更多信息,请参阅 https://intellij-support.jetbrains.com/hc/en-us/articles/206544879-Selecting-the-JDK-version-the-IDE-will-run-under

【讨论】:

作为环境变量? 是的,作为环境变量。 更多详细信息可以看intellij-support.jetbrains.com/hc/en-us/articles/…和***.com/questions/8382641/… 遗憾的是,这些都没有告诉您 Android Studio 的变量名称。 64 位版本的 IDEA_JDK_64 intellij-support.jetbrains.com/hc/en-us/articles/…【参考方案3】:

其他答案不适用于 64 位版本。 Jetbrains 实际上已经很好地记录了这一点。来自https://intellij-support.jetbrains.com/hc/en-us/articles/206544879-Selecting-the-JDK-version-the-IDE-will-run-under:

Java 8

请注意,从版本 16 开始,在所有受支持的平台上运行 IntelliJ IDEA 都需要 Java 8。它也适用于从同一分支 (144+) 发布的轻量级 IDE。

Windows

JDK 与所有产品安装程序捆绑在一起,除非有任何特定问题,否则建议您使用提供的 JDK 版本。

32 位 JDK 位于 IDE_HOME\jre 目录中,供 32 位产品可执行文件使用。

要在 64 位模式下运行 IDE,您需要下载并安装 64 位 JDK(不是 JRE)发行版并自行安装。运行 64 位 .exe 文件时,IDE 会从注册表中找到并使用它(目前仅适用于 IntelliJ IDEA,其他产品可以使用 .bat 文件在 64 位模式下运行)。

.exe 使用以下 JDK 搜索序列:

IDEA_JDK / phpSTORM_JDK / WEBIDE_JDK / PYCHARM_JDK / RUBYMINE_JDK / CLION_JDK / DATAGRIP_JDK 环境变量(取决于 产品,WEBIDE_JDK 之前适用于 WebStorm 和 PhpStorm 2016.1 版) ..\jre 目录 系统注册表 JDK_HOME 环境变量 JAVA_HOME 环境变量

idea64.exe 使用这个 JDK 搜索序列:

IDEA_JDK_64 环境变量 ..\jre64 目录 系统注册表 JDK_HOME 环境变量 JAVA_HOME 环境变量

也可以使用位于 bin 目录中的 .bat 文件启动 IDE,它使用以下 JDK 搜索顺序:

IDEA_JDK / PHPSTORM_JDK / WEBIDE_JDK / PYCHARM_JDK / RUBYMINE_JDK / CLION_JDK / DATAGRIP_JDK 环境变量(取决于产品) ..\jre 目录 JDK_HOME 环境变量 JAVA_HOME 环境变量

环境变量必须指向JDK安装主目录,例如:

c:\Program Files (x86)\Java\jdk1.8.0_66

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

根据产品定义 IDEA_JDK / PHPSTORM_JDK / WEBIDE_JDK / PYCHARM_JDK / RUBYMINE_JDK / CLION_JDK / DATAGRIP_JDK 变量以覆盖来自 IDE_HOME\jre 的默认版本。

使用 Rapid Environment Editor 添加/编辑变量,它会检测到不正确的路径。

Linux

从 IntelliJ IDEA 16 和最新版本的轻量级 IDE 开始,我们将自定义 JRE 与 Linux 发行版捆绑在一起,就像我们为 Mac 所做的那样。我们的自定义 JRE 基于 OpenJDK,并包含最新的修复程序,以在 Linux 上提供更好的用户体验(如字体渲染改进和 HiDPI 支持)。

引导 JDK 路径存储在 config 文件夹中的 .jdk 文件中。可以通过更改 IDE 启动 JDK 操作或手动编辑 .jdk 文件来修改它(如果您无法启动 IDE 以通过操作更改它)。 建议使用捆绑的 JRE(如果可用)。如果您对捆绑版本有任何问题,您可以切换到适用于您系统的最新版本的 Oracle JDK 或 OpenJDK(不支持 OpenJDK 1.6,请使用 1.7 或更高版本,建议使用 JDK 1.8,旧 Java 版本从 IntelliJ IDEA 16 开始不支持)。

查看 bin/.sh 文件的 JDK 搜索顺序,在环境变量名称方面与 Windows 类似。这是调整引导 jdk 的传统方式,将其用于旧产品版本。考虑改用 .jdk 文件(见上文),以便您的修改可以在 IDE 更新/重新安装后继续存在。

如果您需要在 Linux 上手动安装 JDK,请查看此答案。 如果您遇到丑陋字体的问题,请参阅此线程 cmets 以获取提示。

帮助 | About 会显示实际的 JDK 版本。

Mac OS X

我们最新的 IDE 版本附带捆绑的自定义 JDK 8,其中包含对大多数已知 OpenJDK 错误的修复。如果您需要使用不同的 Java 版本,请参考https://blog.jetbrains.com/idea/2015/05/intellij-idea-14-1-4-eap-141-1192-is-available/。

如果您覆盖 IDE JDK 版本,则其路径存储在位于配置文件夹中的 .jdk 文件中(idea.jdk 用于 IntelliJ IDEA,pycharm.jdk 用于 PyCharm 等)。删除此文件或手动更改文件内的路径,以防 IDE 不再启动并且您无法通过菜单更改它。 如果 IDE 未启动且此文件不存在,请手动创建它并指定要使用的 Java 路径(Java 主位置),例如: /Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk

【讨论】:

以上是关于为intelliJ设置JAVA_HOME?的主要内容,如果未能解决你的问题,请参考以下文章

Intellij Idea:导入 Gradle 项目 - 尚未定义 JAVA_HOME

IntelliJ IDEA 常用设置 - Maven 的安装与使用

IntelliJ IDEA 常用设置 - Maven 的安装与使用

JAVA_HOME 设置为无效目录:

JAVA_HOME设置为无效目录:

使用IntelliJ IDEA 14和Maven创建java web项目