当前位置:编程学习 > JAVA >>

【求助!】javac 无法编译

刚刚装了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_01

D:\testC\JAVA>echo %classpath%
.;%JAVA_HOME%\lib;C:\Program Files\QuickTime\QTSystem\QTJava.zip

D:\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.java

D:\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吗?  
求达人解答, 谢谢!
--------------------编程问答-------------------- echo %java_home%
......
%JAVA_HOME%\bin\


修改下大小写.... --------------------编程问答-------------------- 看看JAVA_HOME设置为JDK的安装目录没 --------------------编程问答-------------------- 现在安装好像都不用配置了吧 都是自动的吧 --------------------编程问答-------------------- 别整啥java home了

直接把bin的全路径配置到path中 --------------------编程问答--------------------
引用 1 楼 sotom 的回复:
echo %java_home%
......
%JAVA_HOME%\bin\


修改下大小写....


试过了,不行。。。。

--------------------编程问答--------------------
引用 4 楼 sxzlc 的回复:
别整啥java home了

直接把bin的全路径配置到path中


使用绝对路径的话没问题了。
不过还是很困惑,因为现在的配置说明一般都说用java_home
难道java_home已经了out? --------------------编程问答-------------------- 在这里最终让cmd认知javac的是path中的javac所在路径,JAVA_HOME只是个中间变量

echo下这个吧(%JAVA_HOME%要读出来正确)
%JAVA_HOME%\bin

path中也这样设:
%JAVA_HOME%\bin; --------------------编程问答-------------------- JAVA_HOME ="...",java_home 改成大写的JAVA_HOME 看行不行  --------------------编程问答-------------------- JAVA_HOME我从来不用的,不使它过时了。而是方便大家重用JDK的路径,当你再次使用的时候可以直接使用JAVA_HOME而不用重新使用JDK的绝对路径。 --------------------编程问答-------------------- xp中应该是对大小写不敏感的
----------------------------------
C:\Documents and Settings\Administrator>echo %java_home%
C:\Program Files\Java\jdk1.7.0_01

C:\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为啥找不到,有点迷茫了。
--------------------编程问答-------------------- 别用java_home我从来不用这个。你直接把c:\Java\jdk1.7.0\bin 放到path里面。把你前面配置过的全部删除。。重开ms—dos 敲入javac 是不是很神奇可以用了 --------------------编程问答-------------------- c:\Java\jdk1.7.0\bin 追加到path里面 --------------------编程问答-------------------- %JAVA_HOME%\bin\;%JAVA_HOME%\jre\bin\;
怀疑配置这个的时候有问题 --------------------编程问答-------------------- JDK1.5之后的不用整那么麻烦的,你只要建一个 PATH : C:\Program Files\Java\jdk1.7.0_01\bin  就行了。。 --------------------编程问答-------------------- 遇到javac不是内部或者外部命令的时候,大多是path变量设置错误,

path是定义操作系统查找并且运行可执行文件的路径,所以就是告诉操作系统你的javac.exe在哪里,把javac.exe所在的bin路径加到path里面去就可以了
set path=C:\Program Files\Java\jdk1.7.0_01\bin;%path%
%%表示引用之前的path变量的值,路径之间用分号隔开

希望可以帮助你解除你的疑惑 --------------------编程问答-------------------- ;.什么的不要乱加就好了。仔细检查以下就好了
补充:Java ,  Java SE
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,