我很好奇我在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
字符串
我已经看到第一个javapath用我安装的最新的java sdk进行了更新。然而,大多数你google告诉你应该把环境变量PATH设置为最新的,路径中有jdk的那个。那么什么是最好的,它们是如何工作的。例如,什么最适合Xamarin或Android开发?
希望有人有一些见解,我会很感激对此的评论。现在我知道了,(每个人都知道)要将路径更改为java,必须设置JAVA_HOME变量。我在贴完这篇文章后就这样做了,很难回忆起你在任何特定时刻读到的每一件事!其他路径的目的是什么,为什么更新java jre会自动设置java版本,而下载sdk需要手动更新?
3条答案
按热度按时间5vf7fwbs1#
当安装新版本的JRE时,此路径
C:\Program Files (x86)\Common Files\Oracle\Java
显示为已更新,其中包含与新JRE版本对应的可执行文件。问题是这将是JRE而不是JDK。因此,依赖于JDK(例如IDE)的程序将无法启动。以下是我如何让它始终工作
1.我总是在 User Variables(系统环境变量,通过进入控制面板->系统->高级系统设置->环境变量->用户变量)中有一个环境变量--
JAVA_HOME
指向JDKHome。并将%JAVA_HOME%\bin
添加到PATH
环境变量。1.有趣的是,我从 System Environment Variables(Control Panel -> System -> Advanced System Settings -> Environment Variables -> System Variables)中的
Path
环境变量中删除了条目C:\Program Files (x86)\Common Files\Oracle\Java\javapath
。这适用于2020年8月的Windows 10(1903),Java 8 u251。:)
jhiyze9q2#
在我的机器上,C:\ProgramData\Oracle\Java\javapath中的文件过去常常符号链接到其他地方的文件。但注意到这在8u112或之前已经改变了。值得注意的是,在我的当前版本(8u171)中,两个javapath文件夹都符号链接到同一目录中的“目标”文件夹。
如果我撤消c:\programdata中的操作,我注意到我的Eclipse环境不能正常工作了。
但我对这段历史没有更多的了解,也不知道为什么会这样。
qlzsbp2j3#
我只是把
%JAVA_HOME%\bin
移到C:\Program Files (x86)\Common Files\Oracle\Java\javapath
之前,它工作起来没有任何问题。我建议你定期检查你的环境变量和路径变量,特别是在你的机器上安装了一些东西之后。