有2个问题,希望大家帮我解决一下 先谢谢了 
1:我的机器上很早就安装了JDK了,最近发现把classpath删除掉照样能运行java程序。这个原因是不是 我第一次运行程序时(有classpath)系统就已经自动保存了classpath相关的东西,所以我以后删除掉classpath系统根据保存的东西也能照样运行JAVA程序?(第3方类除外)2:我在帮别人的电脑上安装JDK的时候(他第一次装JDK),环境变量都设置好了,java -version已经能找到相关版本,appletviewer也能成功运行applet程序, 用javac HelloWorld.java也能成功通过(用的很简单的一个输出字符的程序测试)。但是用java HelloWorld的时候就不行了,出现这样的错误:Exception in thread "main" java.lang.NoClassDefFoundError:HelloWorld.竟然说找不到HellWorld这个class文件?可是确实已经生成出来了的啊。谁能帮我解决一下上面两个问题啊,万分感激啊。

解决方案 »

  1.   

    第一个问题对虚拟机原理不熟悉,无法回答。
    第二个问题,你可以在CMD下进入CLASS文件所在的目录,然后使用java HelloWorld试试看。如果能运行的话,就在环境变量里加一个“.;"试一下,这个代表当前目录。如果还是有问题的话就再回帖讨论吧。
      

  2.   

    那重起一下机器吧。以前我碰到过这种情况,配完环境变量后怎么都无法运行CLASS文件,重起机器后就可以了。一直细研究这个问题,权且就当瞎猫碰死耗子试试吧。
      

  3.   

    我也遇到过这个问题,应该问题还在系统变量的设置上,你在重新设置一下classpath变量,看看怎么样
      

  4.   

    我已经重新设置了很多次了 在别的机器上都可以运行 就是在我那一个同学的机器上 以和其他同学一样的环境变量配置也是上面的情况,只能编译 不能运行,可以运行applet 
      

  5.   

    你把你配置的classpath和path的值发出来看看
      

  6.   

    CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
    path=%JAVA_HOME%\bin(或者%JAVA_HOME%\bin;%path%也试过)
    JAVA_HOME=D:\j2sdk\j2sdk1.4.2
      

  7.   

    配置这么多,我就设置两个
      classpath=.
      path = E:\INSTALL\Java\J2SE\java\bin;   //bin文件中有javac.exe java.exe javaw.exe等等..