如何在Windows中最好地设置java的路径

ger*_*res 11 java windows path

我很好奇我在 windows 环境中看到的 java 路径之间存在的差异。如果我执行命令where java我可以看到

C:\Program Files (x86)\Common Files\Oracle\Java\javapath\java.exe
C:\ProgramData\Oracle\Java\javapath\java.exe
C:\Program Files\Java\jdk1.6.0_21\bin\java.exe
Run Code Online (Sandbox Code Playgroud)

我已经看到第一个 javapath 已使用我安装的最新 java sdk 进行更新。然而,你谷歌告诉你的大部分内容应该将环境变量 PATH 设置为最新的,即路径中包含 jdk 的变量。那么什么是最好的,它们是如何工作的。例如,什么最适合 Xamarin 或 Android 开发?

希望有人对此有一些见解,我将不胜感激。现在我知道,(每个人都这样做)要更改 java 的路径,您必须设置 JAVA_HOME 变量。我在发布这篇文章后这样做了,很难回忆起你在任何特定时刻读过的所有内容!那么其他路径的目的是什么,为什么更新java jre会自动设置java版本,而下载sdk需要手动更新?

Rak*_*h N 15

安装新版本的 JRE 时,此路径C:\Program Files (x86)\Common Files\Oracle\Java似乎已更新为与新 JRE 版本对应的可执行文件。问题是这将是JRE而不是JDK。因此,依赖于 JDK(例如 IDE)的程序将无法启动。

这是我如何让它持续工作

  1. 我总是在用户变量(系统环境变量,通过控制面板 -> 系统 -> 高级系统设置 -> 环境变量 -> 用户变量)中有一个环境变量 -JAVA_HOME指向JDK Home。并添加%JAVA_HOME%\binPATH环境变量中。
  2. C:\Program Files (x86)\Common Files\Oracle\Java\javapath有趣的是,我从系统环境变量Path(控制面板 -> 系统 -> 高级系统设置 -> 环境变量 -> 系统变量)中的环境变量中删除了该条目。

自 2020 年 8 月起,此功能适用于 Windows 10 (1903)、Java 8u251。:)

  • `C:\Program Files (x86)\Common Files\Oracle\Java\javapath` 被添加到环境变量作为第一个条目。我将禁用自动更新。不知道怎么更新的 (2认同)

fre*_*ess 1

在我的机器上,C:\ProgramData\Oracle\Java\javapath 中的文件用于符号链接到其他地方的文件。但注意到这在 8u112 或之前发生了变化。值得注意的是,在我当前的版本(8u171)上,两个 javapath 文件夹符号链接到同一目录中的“目标”文件夹。

如果我撤消 c:\programdata 中的内容,我会注意到我的 Eclipse 环境无法正常工作。

但我对历史或这一切背后的原因并没有更多的了解。