日期:2014-05-20  浏览次数:20841 次

一个关于java se 1.5.0_14 的classpath设置问题?
小弟今天刚学java,在sun网站上下载了jdk1.5.0_14
我用的是XP系统,安装在D:\Program Files\Java\jdk1.5.0_14目录中
设置path没有问题,可以正常编译.但是在设置classpath时遇到些麻烦.
我的程序在D:\myJava\lesson目录中
先用javac编译好一个Person.class的文件
设置classpath=D:\myJava
在控制台下只有进入D:\myJava\lesson中才能运行Person.class这个文件.
在D:\myJava中运行都提示有错误
-----
D:\myJava>java Person
Exception in thread "main" java.lang.NoClassDefFoundError: Person
-----
D:\myJava>java -version
java version "1.5.0_14"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_14-b03)
Java HotSpot(TM) Client VM (build 1.5.0_14-b03, mixed mode, sharing)

我想设置classpath=D:\myJava 应该能包括下面的子文件夹吧.怎么解决这个问题呢?请帮帮我吧.

------解决方案--------------------
我的异常网推荐解决方案:java环境变量设置,http://www.myexception.cn/java-other/172921.html
------解决方案--------------------
在D:\myJava> java Person 的D:\myJava后面有一个大于号">",在这个大于号之前的路径是当前路径,
也就是说D:\myJava是当前路径,java虚拟机在加载你生成的Person.class时,先从当前路径找,
但是你的当前路径下(D:\myJava)并没有Person.class这个类,虚拟机它找不到,自然会报出
Exception in thread "main" java.lang.NoClassDefFoundError: Person 
这样的错误.

如果你想设置classpath=D:\myJava,
那么你最好把你java文件(源代码文件)放到D:\myJava这个目录下,那么编译器会在这个目录下生成class文件,
D:\myJava> javac *.java(*代表你的文件名) 

此时再用D:\myJava> java Person 就不会报错了.

还有你的java程序是放在D:\myJava\lesson目录中的,编译器生成的类文件Person.class也是在这个目录下,所以要想不出错,应该用
D:\myJava\lesson> java Person
------解决方案--------------------
不能包括子文件夹的
------解决方案--------------------
1楼正解 楼主命令行运行 不如找个工具用用 EditPlus 或UE 设置一下就不用每次敲命令行了
------解决方案--------------------



点击我的电脑然后按右键——属性——高级——环境变量——新建——名称/路径 
Path=<原Path>;%JAVA_HOME%\bin 
JAVA_HOME=<JDK安装目录> 
CLASSPATH=. 
例子: 
PATH=C:\j2sdk1.4.2_09\bin;C:\j2sdk1.4.2_09\jre\bin; 
JAVA_HOME=C:\j2sdk1.4.2_09; 
CLASSPATH=.;C:\j2sdk1.4.2_09\lib;C:\j2sdk1.4.2_09\lib\tools.jar


PATH=D:\jdk1.4\bin;D:\jdk1.4\jre\bin; 
JAVA_HOME=D:\jdk1.4; 
CLASSPATH=.;D:\jdk1.4\lib;D:\jdk1.4\lib\tools.jar