java可以运行但是在命令行里javac不行是为什么

为什么我配置好jdk之后,在cmd里输入java可以,但是输入javac却提示不是内部命令,另外我用 eclipse运行java程序是可以的

在cmd中可以运行java,但运行javac命令时提示:'javac' 不是内部或外部命令,也不是可运行的程序或批处理文件
原因:安装java时把jdk的路径和jre的路径选择成一样,就造成覆盖了。这时候你在lib下也找不到tools.jar和dt.jar.
解决:
1)卸载java,直接用windows自带的卸载这两个有关java的程序;
2)重新安装java,安装时有两次选择路径的机会,第一次是让你选择jdk安装路径,选择为C:\Program
Files\Java\jdk1.8.0_144,第二次是让你选择jre的安装路径,选择为C:\Program
Files\Java\jre(在java目录下新建文件夹jre);
3)环境配置(控制面板-系统-高级系统设置-环境变量
变量名:Path
变量值:C:\Program Files\Java\jdk1.8.0_144\bin
打开cmd,输入java,javac和java -verbose都成功,就说明安装成功了;
关于环境配置,网上有很多不同的版本,好吧,用了一晚上挨个试,试到怀疑人生。。。不知道是不是只有我不行,但是写出几种提供参考(万一是我电脑有毛病了呢)
第一种:在path环境变量的最前端加上你自己的jdk的这两个目录path= C:\ProgramFiles\Java\jdk1.7.0_67\bin;C:\Program Files\Java\jdk1.7.0_67\bin\jre\bin;
第二种:新建变量(在D盘新建一个java文件夹,在java文件下新建两个文件夹,分别命名为jdk和jre,安装路径分别选择为D:\java\jdk,D:\java\jre)
变量名:Path
变量值:C:\ProgramData\Oracle\Java\javapath;%java_home%\bin;%java_home%\jre\bin
变量名:JAVA_HOME
变量值:D:\java\jdk
变量名:ClassPath
变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-04-28
确定一下配置是否正确吧
假定你的jdk安装在c:\jdk1.6
JAVA_HOME=c:\jdk1.6
classpath=. ;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(.;一定不能少,因为它代表当前路径)
path=%JAVA_HOME%\bin追问

是用户环境和系统环境都要设置的么

追答

只需要设置一个就可以了,如果设置的是系统环境,那么更换用户后就仍然可以使用java

本回答被提问者采纳
第2个回答  2011-04-28
这个问题,我也遇到过,你看一下你的环境变量,是不是有一个多加了;或者是;是不是英文状态下的。
我具体是Path还是JAVA_HOEM我就不太记得了,JAVA_HOEM的话,不加;最好。
第3个回答  2011-04-28
把你的配置说一下 eclipse运行的时候有自己的默认jdk 不一定是你自己配置的
第4个回答  2013-03-26
刚试了,你用管理员的权限,使用dos编辑器(就那个黑框)就好了
相似回答