辛晓琪歌曲下载:为什么java的环境变量设置好了仍不能够运行

来源:百度文库 编辑:高校问答 时间:2024/05/03 12:25:10
我已经设置JAVA_HOME=D:\Java;path=%JAVA_HOME%\bin;classpath=D:\Java Programm,可是当我dos编译javac Hello.java时,总是”javac不是内部或外部命令,也不是可运行的程序或批处理文件”,而java MyFirstProgramm时,总是Exception in thread "main" java.lang.NoClassDefFoundError,可是我已经设置了环境变量,为什么仍然不能够正常运行呢?急待请好心人帮助!!

你的jdk是什么版本?下面是1.4.2的:
Windows 下JAVA 用到的环境变量主要有3 个,JAVA_HOME、classpath、path。
下面逐个分析。
JAVA_HOME 指向的是JDK 的安装路径,如x:\JDK_1.4.2,在这路径下你应该
能够找到bin、lib 等目录。值得一提的是,JDK 的安装路径可以选择任意磁盘
目录,不过建议你放的目录层次浅一点,如果你放的目录很深,比如
x:\XXXXXX\xxxxx\XXXX\xxxx\XXXX\xxxx\XXXX\xxx……
那么,下面的步骤和以后的应用你都要受累了,呵呵。设置方法:
JAVA_HOME=x:\JDK_1.4.2
path 环境变量原来Windows 里面就有,你只需修改一下,使他指向JDK 的
bin 目录,这样你在控制台下面编译、执行程序时就不需要再键入一大串路径了。
设置方法是保留原来的PATH 的内容,并在其中加上%JAVA_HOME%\bin (注,如果
你对DOS 批处理不了解,你可能不明白%%引起来的内容是什么意思;其实这里是
引用上一步设定好的环境变量JAVA_HOME,你写成x:\JDK_1.4.2 也是可以的;
你可以打开一个控制台窗口,输入echo %JAVA_HOME%来看一下你的设置结果) :
path=%JAVA_HOME%\bin;%path%
同样,%path%是引用以前你设置的PATH 环境变量,你照抄以前的值就行了。
classpath 环境变量我放在最后面,是因为以后你出现的莫名其妙的怪问题
80%以上都可能是由于classpath 设置不对引起的,所以要加倍小心才行。
classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
首先要注意的是最前面的".;",如果你看不清,我给你念念——句点分号。这个
是告诉JDK,搜索CLASS 时先查找当前目录的class 文件——为什么这样搞,这
是由于LINUX 的安全机制引起的,LINUX 用户很明白,WINDOWS 用户就很难理解(因
为WINDOWS 默认的搜索顺序是先搜索当前目录的,再搜索系统目录的,再搜索
path 环境变量设定的) ,所以如果喜欢盘根究底的朋友不妨研究一下LINUX。
为什么classpath 后面指定了tools.jar 这个具体文件?不指定行不行?显然不
行,行的话我还能这么罗索嘛!:) 这个是由java 语言的import 机制和jar 机
制决定的,你可以查资料解决。

你配置classpath有问题
JAVA_HOME=D:\Java;
path=%JAVA_HOME%\bin;
classpath=%JAVA_HOME%\lib;
"而java MyFirstProgramm时,总是Exception in thread "main" java.lang.NoClassDefFoundError"
这个错误是因为你运行的程序中没有main方法

你看一下你的电及中有没有 D:\java\bin 这个文件夹,是不是写错了,再有classpath这个环境变一下吧,改成我这样的写法:CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\jdklib\tools.jar
注意你实际的文件夹,你的JAVA所有的文件是放在哪时的,就是放了很多运行的文件,和bin\demo\include\lib等文件夹的地方,这个路径设给JAVA_HOME

path=%JAVA_HOME%\bin,;,

将环境变量中多于的空格去掉!

ClassPath里少了个.;