文章列表
 
您正在查看 "Java" 分类下的文章

2007年06月09日 星期六 21:26

环境: redhat linux as4, j2sdk1.5.0
welcome.java的内容如下:

public class welcome
{
         public static void main(String [] args)
         {
                 System.out.print("welcome.\n");
                 return;
         }
}

编译: javac welcome.java
正确

运行: java welcome
出错: Exception in thread "main" java.lang.NoClassDefFoundDrror: welcome

后来终于找到原因: java加载了welcome.class以后,由于class文件里保存的只是对象引用记号,并没有保存类本身,并不像C++一样在二进制文件中就保存着类的定义。所以这时java解释器就试图到环境变量CLASSPATH中找类welcome,而我当时的环境变量CLASSPATH为:
$CLASSPATH=/usr/java/jdk1.5.0_11/lib:/usr/java/jdk1.5.0_11/jre/lib
显示java解释器找不到welcome类的定义,即而出错。

悟出这一点,我立刻进行验证,先重新设置环境变量:
CLASSPATH=/usr/java/jdk1.5.0_11/lib:/usr/java/jdk1.5.0_11/jre/lib:.
注意最后加了一个冒号和点,冒号是多个域的分割符,点代表让java解释器到当前目录下寻找welcome.class

一切OK!

 
 
   
 
 
文章分类
 
   
 
文章存档
 
     
 
最新文章评论
  

[表情]
 

问题解决,谢谢分享~
 

做了没有?
 

太长知识了,这两天我也老犯这毛病
 

非常感谢~学习了~
   
帮助中心 | 空间客服 | 投诉中心 | 空间协议
©2012 Baidu