这个问题这儿出来好多次了,最大的可能是你装的是j2sdk1.3.0的版本,版本有bug啦,解决的办法有两个,一是换装一个j2sdk1.3.1的版本,二是自己动手改注册表。

解决方案 »

  1.   

    应该这么写:
    java zmj  //后面没有.class
    关于设置,看看这个:
    http://www.csdn.net/Develop/read_article.asp?id=12699
    http://www.csdn.net/expert/topic/971/971217.xml?temp=.3411829
      

  2.   

    不好意思,我也是刚接触Java,不是很明白,但是,有几点要注意:
    1。每个Java程序只有一个主类,这个主类里面包含一个main函数,是程序的入口,程序源文件必须保存成同名的文件,比如,你的主类是zmj,那么程序就应保存为zmj.java(^_^Java在这方面有点变态)
    2。Java是大小写敏感的,一定要记住,无论什么时候,千万不要大小写乱用,曾经是我的痛。即使是文件名也要正确用大小写。
    3。做一个环境变量设置,JAVA_HOME=你的jdk环境路径(是jdk,不是sdk),然后每次编译时用下列命令%JAVA_HOME%\bin\javac 文件名.java 运行命令%JAVA_HOME%\bin\java 文件名.class
    应该差不多了吧,好好试试,会适应的,刚开始,我也觉得Java特变态,但现在
    我已可以接受他的优秀,努力吧,你会成功
      

  3.   

    楼上的不必使用JAVA_HOME了吧,就把classpath设置好以后也就不必在打那么长的命令名了,如果还觉得麻烦就装个JBuilder吧,它会自动设置classpath,只要按一个执行按钮就可以编译运行java程序了
      

  4.   

    谢谢楼上的指点真是心有灵犀啊 呵呵 我可以和你交个朋友吗  希望以后有什么问题可以探讨一下我的email是[email protected]
      

  5.   

    可是我装得是书自带的光盘里的sdk
      

  6.   

    没有用啊  我什么方式都试过了  如java zmj    java zmj.java    java zmj.class都是过了  都是不行是不是程序又错误啊  但是为什么编译能够通过就是不能运行呢
      

  7.   

    不好意思,见笑,其实执行java不可以打后缀的。
    另外,楼上所说,JBuilder确实是好东东,但为了执行一个小程序伤筋动骨未免大材小用,而且有时还不好执行(效率特曼,默认工程,艾,为难)。所以我同时用两种方式:自己作项目用JBuilder7(毕竟,Borland的东东是很好用的),研究别人的小程序用Ultra Edit+jdk,感觉不错,至于怎么设置classpath等变量小弟一直没处理好,那位大侠详细讲讲。谢谢
      

  8.   

    老兄,把源码贴出来,研究研究,另外,你的jdk(java development kit)路径是什么,环境变量怎么设定的,拿出来研究一下,不要急,会解决的。
      

  9.   

    你说错了吧,你用的应该是JDK吧。
      

  10.   

    这应该跟其它配制没有关系,主要是把路径设置正确就可以正确执行了。
    路径设置如下:(根据你的环境自己设置)
    path=%path%;D:\j2sdk1.4.0_01\bin
    set classpath=.另外要注意的一点是,如果程序文件名为Example.java,执行步骤为
    1、到该文件所在目录,然后输入javac Example.java,回车,开始编译
    2、如果编译成功,输入java Example就可以执行,注意,不要加上文件的后缀(不是java Example.java)
      

  11.   

    你在运行的时候出错了。错误代码:java  zmj.java正确代码:java  zmj
      

  12.   

    我的sdk装在d:\sdk下
    classpath:  D:\sdk\lib\tools.jar; 这是我自己在环境变量里新建的我是照着《java编程21天自学通》的
    path:  %SYSTEMROOT%;%SYSTEMROOT%\system32;%SYSTEMROOT%\system32\WBEM;D:\dephi6.0\Bin;D:\dephi6.0\Projects\Bpl;C:\Program Files\Microsoft SQL Server\80\Tools\BINN;D:\sdk\bin;C:\PROGRA~1\COMMON~1\AUTODE~1有很多这可能是我装得工具都有的吧就是这样的 我的源程序是个很简单的(我是初学者):
    public class zmj{
        public static void main(String[] arguments) {
            String line1="the advancement of the arts, from year\n";
            String line2="to year,taxes our credulity,and seems\n";
            String line3="to presage the arrival of that period\n";
            String line4="when human improvement must end.\n";
            String quote=line1+line2+line3+line4;
            String speaker="henry zmj";
            String title="U.S. commissioner of patents";
            String from="1834 annual report of the patent office";
             System.out.println('\u0022'+quote+'\u0022');
             System.out.println("\t"+speaker);
             System.out.println("\t"+title);
             System.out.println("\t"+from);
         }
    }是在notepad里编的然后保存是zmj.java
    然后在保存目录下运行javac
    c:\my documents\java>javac zmj.java
    c:\my documents\java>
    然后运行java
    c:\my documents\java>java zmj
    Exception in thread "main"java.lang.NoClassDefFoundError: zmj
    就是出现这个错误  希望高手指点  特别谢谢银狐的支持!!!
      

  13.   

    我照做了一遍,完全没有问题。仔细找找,看到底编译成什么名字的class文件,然后在java xxx如果还不行,建议JDK重装,可能是JDK的问题。
      

  14.   

    设置classpath为  D:\sdk\lib\tools.jar;.;
      

  15.   

    编译后的是zmj.class 文件
    classpath改了之后还是不行  重装了jdk也不行啊 唉 不知道怎么回事啊
      

  16.   

    问题解决了  但是有个问题是我把zmj.java拷贝到d:\然后在命令提示符下面
    d:\javac zmj.java
    然后java zmj
    才成功的   为什么把文件保存在我的文档里而不能运行呢
    是不是因为我保存的是存在my documents这个文件  两个单词之间有空格而引起的呢  请指点!!
      

  17.   

    可能就是这个问题造成的,目录名不能包含空格。你在安装JDK的时候,有没有试过装到program files这个目录下呀?试过你就知道了。
      

  18.   

    to: zyjzmj(明雅)
    不好意思,我来的时候你的问题已经解决了,没帮上什么忙,以后吧^_^
      

  19.   

    非常简单,要进到你的java目录下才可以执行比如输入 D:\javasoft\javac myclass.java
            D:\javasoft\java muclass
    就可以了,是没设程序的搜索路径,linux我就会设,win的没用过,自己去找资料了。good luck