刚刚装了jdk 1.7.0
安装目录为: C:\Program Files\Java\jdk1.7.0_01\
无法使用javac编译
------------------------------------------------------------------
D:\testC\JAVA>javac AutoInc.java
'javac' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
------------------------------------------------------------------在xp下设置的环境变量为
------------------------------------------------------------------
D:\testC\JAVA>echo %java_home%
C:\Program Files\Java\jdk1.7.0_01D:\testC\JAVA>echo %classpath%
.;%JAVA_HOME%\lib;C:\Program Files\QuickTime\QTSystem\QTJava.zipD:\testC\JAVA>echo %path%
%JAVA_HOME%\bin\;%JAVA_HOME%\jre\bin\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\
System32\Wbem;C:\Program Files\Common Files\Thunder Network\KanKan\Codecs;C:\Pro
gram Files\QuickTime\QTSystem\
------------------------------------------------------------------
该目录下文件为:
------------------------------------------------------------------
D:\testC\JAVA>dir
 驱动器 D 中的卷没有标签。
 卷的序列号是 A88B-D025 D:\testC\JAVA 的目录2011-12-05  20:02               379 AutoInc.java
------------------------------------------------------------------
可以正确使用java -version
------------------------------------------------------------------
D:\testC\JAVA>java -version
java version "1.7.0_01"
Java(TM) SE Runtime Environment (build 1.7.0_01-b08)
Java HotSpot(TM) Client VM (build 21.1-b02, mixed mode, sharing)
------------------------------------------------------------------而javac.exe也应该没问题
------------------------------------------------------------------
D:\testC\JAVA>"C:\Program Files\Java\jdk1.7.0_01\bin\javac"  AutoInc.javaD:\testC\JAVA>dir
 D:\testC\JAVA 的目录
2011-12-05  20:28               855 AutoInc.class
2011-12-05  20:02               379 AutoInc.java
------------------------------------------------------------------编译后的文件可以直接用java运行
------------------------------------------------------------------
D:\testC\JAVA>java AutoInc
i : 1
++i : 2
i++ : 2
i : 3

------------------------------------------------------------------是我哪里设置不对导致不能用javac吗?  
求达人解答, 谢谢!

解决方案 »

  1.   

    echo %java_home%
    ......
    %JAVA_HOME%\bin\
    修改下大小写....
      

  2.   

    看看JAVA_HOME设置为JDK的安装目录没
      

  3.   

    别整啥java home了直接把bin的全路径配置到path中
      

  4.   


    使用绝对路径的话没问题了。
    不过还是很困惑,因为现在的配置说明一般都说用java_home
    难道java_home已经了out?
      

  5.   

    在这里最终让cmd认知javac的是path中的javac所在路径,JAVA_HOME只是个中间变量echo下这个吧(%JAVA_HOME%要读出来正确)
    %JAVA_HOME%\binpath中也这样设:
    %JAVA_HOME%\bin;
      

  6.   

    JAVA_HOME ="...",java_home 改成大写的JAVA_HOME 看行不行 
      

  7.   

    JAVA_HOME我从来不用的,不使它过时了。而是方便大家重用JDK的路径,当你再次使用的时候可以直接使用JAVA_HOME而不用重新使用JDK的绝对路径。
      

  8.   

    xp中应该是对大小写不敏感的
    ----------------------------------
    C:\Documents and Settings\Administrator>echo %java_home%
    C:\Program Files\Java\jdk1.7.0_01C:\Documents and Settings\Administrator>echo %JAVA_HOME%
    C:\Program Files\Java\jdk1.7.0_01
    ---------------------------------而我也确实设置了java_home(无论大写还是小写都试过)
    不过path中使用%java_home%就无法认识javac,而java是能够认识的,并且版本也是1.7的。
    所以猜测java是通过%java_home%被找到了。
    至于javac为啥找不到,有点迷茫了。
      

  9.   

    别用java_home我从来不用这个。你直接把c:\Java\jdk1.7.0\bin 放到path里面。把你前面配置过的全部删除。。重开ms—dos 敲入javac 是不是很神奇可以用了
      

  10.   

    c:\Java\jdk1.7.0\bin 追加到path里面
      

  11.   

    %JAVA_HOME%\bin\;%JAVA_HOME%\jre\bin\;
    怀疑配置这个的时候有问题
      

  12.   

    JDK1.5之后的不用整那么麻烦的,你只要建一个 PATH : C:\Program Files\Java\jdk1.7.0_01\bin  就行了。。
      

  13.   

    遇到javac不是内部或者外部命令的时候,大多是path变量设置错误,path是定义操作系统查找并且运行可执行文件的路径,所以就是告诉操作系统你的javac.exe在哪里,把javac.exe所在的bin路径加到path里面去就可以了
    set path=C:\Program Files\Java\jdk1.7.0_01\bin;%path%
    %%表示引用之前的path变量的值,路径之间用分号隔开希望可以帮助你解除你的疑惑