已有101人关注
JVA第一章,再提环境变量,求助!
发表在Java图书答疑 2010-01-10
是否精华
版块置顶:
1、JDK安装路径:C:\Program Files\Java\jdk1.6.0_17
2、系统变量设置:
   JAVA_HOME    C:\Program Files\Java\jdk1.6.0_17
   Path         .;%JAVA_HOME%\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Common Files\Thunder Network\KanKan\Codecs
  即:在原来的前面加了.;%JAVA_HOME%\bin;
3、进入CMD: 
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.

C:\Documents and Settings\user>java -version
java version "1.6.0_17"
Java(TM) SE Runtime Environment (build 1.6.0_17-b04)
Java HotSpot(TM) Client VM (build 14.3-b01, mixed mode, sharing)

C:\Documents and Settings\user>cd\

C:\>java -version
java version "1.6.0_17"
Java(TM) SE Runtime Environment (build 1.6.0_17-b04)
Java HotSpot(TM) Client VM (build 14.3-b01, mixed mode, sharing)

C:\>javac HellJava.java
'javac' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

C:\>
4、在系统变量中新建:CLASSPATH   值: .;%JAVA_HOME%\lib
   也试了将值改为:  .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
问题依旧,与不加CLASSPATH前完全一样。
备注:电脑:IBM笔记本,操作系统:windos xp_sp3 OEM版。
请求高手帮助!
分享到:
精彩评论 9
东北虎
学分:0 LV1
2010-01-11
沙发
您好,配置完环境变量需要重新启动命令行窗口(进入CMD),否则再原来的命令行窗口中使用的还是原来的环境变量,打开新的命令行窗口,然后再编译Java程序就可以通过了,也就是如下命令行就可以通过了:
C:\>javac HellJava.java
dongmingqi
学分:0 LV1
2010-01-12
板凳
我把电脑都重启过了,目前为止仍然不能用。另外,我本来就是在配置完环境变量后才打开CMD的,所以不存在您说的重启的问题。
东北虎
学分:0 LV1
2010-01-12
地板
请您将JDK卸载了,然后重新下载一个JDK进行安装,正确配置环境变量,然后再试一次。
dongmingqi
学分:0 LV1
2010-01-19
4L
[FIELDSET][LEGEND]引自:3楼[/LEGEND]
请您将JDK卸载了,然后重新下载一个JDK进行安装,正确配置环境变量,然后再试一次。
[/FIELDSET]

回复:
  我刚重新装了操作系统,重新下载JDK、安装,现在仍然是同样的问题。
  我感觉不是这些原因,环境变量的配置上应该存在问题。我刚才做了几个测试:
  1、目录BIN下的可执行程序中,凡是32位程序,均可以执行,没有任何问题,而16位程序,大都需要将当前目录切换到程序所在目录下方可执行,否则就是出现类似”'javac' 不是内部或外部命令,也不是可运行的程序“的错误提示。
  2、我把JDK安装上以后,不设置环境变量,与设置环境变量的结果竟然一样;也就是说,在不设置环境变量的情况下,在任何目录下均可以直接执行BIN下的32位程序,但不能执行16位程序
  3、我把”C:\Program Files\Java\jdk1.6.0_17 中的'jdk1.6.9_17目录删除,命令“java -version"仍可以执行;但把Java目录更名后再执行就会出现Error: could not open `C:\Program Files\Java\jre6\lib\i386\jvm.cfg'的错误提示。

东北虎
学分:0 LV1
2010-01-20
5L
请将Path变量中的点和分号去掉再试一次(即将.;去掉)。
dongmingqi
学分:0 LV1
2010-01-27
6L

在PATH中使用绝对路径后,问题解决了。
总结一下,书中相关的说法应该是有问题的。
1、使用命令:java -version查看输出的方法来验证环境变量设置是否成功是不正确的,原因是,安装JRE后,根本无需设置环境变量,此命令也能正确使用(不使用路径的情况下)
2、此间的问题出在:自定义的用户变量,在系统变量Path中没有被成功引用。例证:在PATH中的%SystemRoot%\system32,我在CMD中输出:set path ,路径会解释为:c:\windows\system32; 但%JAVA_HOME%,的路径仍解释为%JAVA_HOME%.而不是其绝对值。
3、但是,在CMD中可以正确使用%JAVA_HOME%,说明用户变量是没有问题,至于为何不能被系统变量正确引用,仍不明白。感觉好像系统变量中不能使用自定义的用户变量,呵呵。
  
东北虎
学分:0 LV1
2010-01-27
7L
系统环境变量对所有用户起作用 ,而用户环境变量只对当前用户起作用。
dongmingqi
学分:0 LV1
2010-01-28
8L
[FIELDSET][LEGEND]引自:7楼[/LEGEND]
系统环境变量对所有用户起作用 ,而用户环境变量只对当前用户起作用。
[/FIELDSET]

回复:
呵呵,谢谢,这回找到问题原因了。之前将“JAVA_HOME”建成用户变量了。改为系统变量就没问题,之前一直没有看仔细书上的细节,实在不好意思。
再次感 谢
东北虎
学分:0 LV1
2010-02-01
9L
不客气
首页上一页 1 下一页尾页 9 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照