我在windows中安装了JDK7。我没有做更多的事情,没有改变路径和类路径,这是我的路径环境:
可以发现我没有包含jdk安装目录。但是当我运行" java -version"命令行中的命令,我看到了:
但是当我运行" javac -version"时,它无法运行," javac"命令undefined。如果我没有包含我的jdk安装目录,java和javac命令必须都可以工作,但是在jdk7中," java"命令可以工作," javac"命令没有工作,为了解决了这个问题,我可以在路径中包含jdk安装目录,但是我想知道导致问题的原因是什么,jdk7和pre版本之间有区别吗?
答案 0 :(得分:5)
JDK还安装了一个公共JRE。公共JRE将java.exe
存根添加到\windows\system32
目录。存根读取注册表以找出要执行的 real java.exe
。
其他JDK命令没有得到相同的处理,并且要求JDK的bin
目录位于系统路径上,最好在 \windows\system32
条目之前,为了一致性。
答案 1 :(得分:0)
为了使用像“javac”这样的命令,你的路径中应该有JDK本地安装中的\ bin目录
答案 2 :(得分:0)
你可能在Windows \ system32中有java.exe而不是javac。
答案 3 :(得分:0)
java.exe
也是JRE的一部分,而javac.exe
只是 JDK的一部分
答案 4 :(得分:0)
我认为发生的事情是,当您安装环境路径时,设置的是指向JRE bin而不是JDK bin。 JRE不包含javac可执行文件。将JDK bin插入环境路径将解决此问题,因为Windows现在将扫描该文件夹/位置以搜索名为javac.exe的可执行文件
答案 5 :(得分:0)
您需要将您的java / bin目录添加到PATH环境变量:
像这样的东西: C:\ Program Files \ Java \ jdk1.7.0_45 \ bin