打开CMD窗口,进入任意目录,执行命令:java.exe,运行正常;但是执行命令:javac.exe,就报错;'javac' 不是内部或外部命令,也不是可运行的程序
或批处理文件。而进入javac.exe所在目录再执行命令:javac.exe,就没问题了。
    这是什么原因?如果是环境变量设置错误,那么为什么执行命令:java.exe,运行正常?

解决方案 »

  1.   

    java_home 
    设置jdk安装的目录,可能有的软件(tomcat,==)会用此环境变量来找到jdk 
    path 
    C:\Java\jdk1.6\bin 主要是为了在命令行下在任何目录下可以用java javac等命令 
    classpath 
    是设置类路径,主要是方便编译等等,不用在编译时加上-cp选项 
      

  2.   

    PATH环境变量没有指向jdk安装目录下的bin,不用重装。
      

  3.   

    给你个例子:在我的电脑里中设置类似的环境变量.
    为什么没设置对也能够使用java命令呢?是因为jdk集成了classpath的路径,所以可以不需要设置.
    ;D:\Program Files\Java\jdk1.6.0_12\bin
      

  4.   

    我的电脑属性--高级--环境变量
    JAVA_HOME=C:\Program Files\Java\jdk1.5.0_05
    Path=%JAVA_HOME%/bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Java\jdk1.5.0_05\bin;
      

  5.   

    好像到jdk1.5以后,安装的时候会装上jdk和jre
    而在安装jre的时候,会将java,javew复制windows/system32目录下(这个目录是肯定在path环境变量下的)
    以方便程序的运行,所以出现你说的那种情况。
      

  6.   

    Path=%JAVA_HOME%/bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Java\jdk1.5.0_05\bin;
      

  7.   

    第一步:安装JDK
    JAVA的安装目录C:\Program Files\Java\jdk1.6.0第二步:配置OS的环境变量变量名称: classpath变量值: C:\Program Files\Java\jdk1.6.0\lib\dt.jar;C:\Program Files\Java\jdk1.6.0\lib\tools.jar;变量名称: path变量值: C:\Program Files\Java\jdk1.6.0\bin;
    变量名称:JAVA_HOME变量值: C:\Program Files\Java\jdk1.6.0  (没有分号)
    第三步: 检测JAVA环境cmdjavacjavajava -version
      

  8.   

    配置path变理以及classpath变量就OK了
      

  9.   

    环境配置有问题,不行的话重新装JDK
      

  10.   

    classpath环境变量  谢谢
      

  11.   

    非常感谢大家,解决了。如下
    JAVA_HOME C:\Program Files\Java\jdk1.6.0_10 
    Path %JAVA_HOME%/bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Java\jdk1.6.0_10\bin;
    classpath C:\Program Files\Java\jdk1.6.0_10\lib\dt.jar;C:\Program Files\Java\jdk1.6.0_10\lib\tools.jar;