真找不到错的话试试把路径设一下!
set path=\jdk\bin
set classpath=jdk\lib
2000下设环境变量就行了

解决方案 »

  1.   

    帮助初学者运行 helloword 的最强帖
    http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=76270
      

  2.   

    问HelloWorld问题的人实在是太多了,而且经常都以“问一个最简单的问题”开头。其 
    实回想一下,自己也是从这个阶段过来的,说一句“你好”,真的是一个最简单的问题 
    吗?...//think 好了,言归正传,let′s say "HelloWorld!" in java... 
    首先,我们要假设一下我们的平台是Windows+JDK(Linux环境下也差不多)。这个环境 
    是相当普遍、基础和入门的。确定已经正确安装JDK了,下一步是小心翼翼地敲入某本教 
    程上的HelloWorld源码,存盘,然后编译,javac ...问题来了: 
    * 错误1: 
    ′javac′ 不是内部或外部命令,也不是可运行的程序或批处理文件。 
    (javac: Command not found) 
    产生的原因是没有设置好环境变量path。Win98下在autoexce.bat中加入 
    path=%path%;c:\jdk1.2\bin,Win2000下则控制面板->系统->高级->环境变量->系统变 
    量...看到了?双击Path,在后面加上c:\jdk1.2\bin。当然我们假设JDK安装在了 
    c:\jdk1.2目录下(有点唐僧了?)...好像还要重启系统才起作用...(//知道了!//西 
    红柿) 
    好,再试试!javac HelloWorld 
    * 错误2: 
    HelloWorld is an invalid option or argument. 
    拜托,给点专业精神,java的源程序是一定要存成.java文件的,而且编译时要写全 
    .java呀。 
    OK, javac HelloWorld.java (这回总该成了吧?) 
    * 错误3: 
    HelloWorld.java:1: Public class helloworld must be defined in a file called 
    "HelloWorld.java". 
    public class helloworld{ 

    这个问题嘛,是因为你的类的名字与文件的名字不一致。(谁说的,明明看到人家都有 
    这样写的 ;( ) OK,准确地说,一个Java源程序中可以定义多个类,但是,具有public 
    属性的类只能有一个,而且要与文件名相一致。还有,main方法一定要放在这个public 
    的类之中,这样才能java(运行)这个类。另外一点是Java语言里面是严格区分大小写 
    的,初学者要注意呀。像上例中 helloworld 与 HelloWorld 就认为是不一样,因而... 
    oh... 好,改好了,嘻嘻... javac HelloWorld.java 
    ...(咦,怎么什么也没有呀?)//faint 这就是编译通过了!看看是不是多了一个 
    HelloWorld.class ? 
    (hehe..按书上教的:) java HelloWorld (!! 这个我知道,不是java HelloWorld.class 
    哟) 
    * 错误4: 
    Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld 
    呵呵,这个嘛,就是著名的类路径(classpath)问题啦。实际上,类路径是在编译过程就 
    涉及的Java中的概念。classpath就是指明去哪里找用到的类,就这么简单。由于我们的 
    HelloWorld没用到其它的(非java.lang包中的)类,所以编译时没遇到这个问题。运行 
    时呢,就要指明你的类在哪里了。解决方法嘛,可以用下面的命令运行: 
    java -classpath . HelloWorld 
    “.”就代表当前目录。当然这样做有点麻烦(是“太麻烦”!),我们可以在环境变量 
    中设置默认的classpath。方法就照上述设置path那样。将classpath设为: 
    classpath=.;c:\jdk1.2\lib\dt.jar;c:\jdk1.2\lib\tools.jar 后面的两个建议也设上 
    ,以后开发用的着。 
    java -classpath . HelloWorld(再不出来我就不学java了) 
    * 错误5: 
    Exception in thread "main" java.lang.NoSuchMethodError: main 
    (//咣当)别,坚持住。看看你的代码,问题出在main方法的定义上,写对地方了吗, 
    是这样写的吗: 
    public static void main(String args[]) { //一个字都不要差,先别问为什么了... 
    对,包括大小写! 
    java -classpath . HelloWorld (听天由命了!) 
    Hello World! 
    (faint!终于...) 
    欢迎来到Java世界!所以说,无法运行HelloWorld 真的并不是一个“最简单的问题”。 
    附:HelloWorld.java 
    // HelloWorld.java 
    public class HelloWorld { 
    public static void main(String args[]) { 
    System.out.println("Hello World!") ; 

    }
      

  3.   

    java开发工具JDK 
    SunMicrosystems公司在推出Java语言的同时,推出了一套开发工具JDK。JDK开发工具有Sola 
    ris、WindowsNT、Windows 
    95等多种版本,版本间功能差异不大。本文介绍So-laris操作系统JDK1.0.2版,包括javac、j 
    a-va、jdb、javah、javap、javadoc和 
    一、javac???javac是Java语言的编译器,能够把用户由Java语言书写的程序编译成字节代码。 
    1.格式 
    javac 
    [选项]文件名.java 
    javac-g 
    [选项]文件名.java 
    2.描述 
    javac命令把Java语言源码编译成字节码,然后用Java解释器(java)解释执行字节码。 
    Java源程序文件名后缀必须是java。javac编译器对每一个Java源文件中定义的类,生成一? 
    存编译结果字节码的文件,其后缀为class,存放在与Java源文件相同的目录中(除非使用-d选项,重新指定存放路径如果用户定义一个类,则需要使用Classpath环境变量指明存放路径。Class-path是由冒号:分开的目录名构成。如果 
    在源程序中引用了一个在该目录下其它文件中都没定义的类,则javac搜寻Classpath指明的 
    注意,系统总是把系统类路径附加到类路径中(除非使用-classpath选项)。 
    javac-g是javac的非优化版,用作Java程序调试。 
    3.选项 
    -classpath类路径:指定javac搜寻类的路径,覆盖Classpath环境变量指定的类路径。目录? 
    冒号(:)分开,如 
    :home/awh/classes:/usr/local/java/classes。 
    -d目录:指定存放编译结果的类根目录。 
    -g:使能生成调试表。调试表包含调试工具使用的行号和局部变量信息。缺省时只有行号信 

    -nowarn:关闭警告错误。使用该选项后编译器不生成任何警告错误。 
    -O:通过嵌入静态、final、私用方法优化编译代码。注意,使用该选项后结果文件的大小会 
    -verbose:使编译器和链接器显示出正被编译的文件名和正被装载的类名。 
    4.环境变量 
    Classpath:向系统提供用户定义类的路径。 
    二、java???Java语言解释器 
    java命令解释执行Java字节代码。 
    1.格式 
    java[选项]类名<参数表> 
    java-g[选项]类名<参数表> 
    2.描述 
    java命令用来执行由javac命令生成的字节代码。 
    类名参数表示要被执行的类名,必须是带包名的全部名称。 
    类名后的参数表,直接传递给类中的main()方法。 
    被执行的类必须放在文件名为类名.class中,在每一个由编译生成的类中必须包含main方法 
    java执行main方法后,若不创建多线程,则自动退出。否则,直到最后一个线程结束才退出。 
    用户在定义新类时,需要由Class-path指明存放路径。 
    java-g是用作调试的java命令非优化版。 
    3.选项 
    -debug:允许使用Java调试器jdb,使用该选项后则显示一个调试时必须使用的密码。 
    -cs,-checksource:类装载时检查字节代码生成时间是否在源码生成时间之后,若不是则先? 
    再装载。 
    -classpath类路径:指定Java搜寻类的路径,覆盖Classpath环境变量指定的路径。 
    -mxx:设置最大内存分配区(垃圾收集堆)大小为x,缺省为16M字节;至少应大于1000字节。 
    -msx:设置启动内存分配区(垃圾收集堆)大小为x,缺省为lM字节;至少应大于1000字节。 
    -noasyncgc:关闭异步垃圾收集。 
    -ssx:指定每一个Java线程中可被C代码使用的堆栈大小;至少应大于1000字节。 
    -ossx:指定每一个Java线程中可被Java代码使用的堆栈大小;至少应大于1000字节。 
    -t:显示指令执行时调用路径(仅用于Java-g命令)。 
    -v:在每一个类文件被装载时,在标准输出显示一条信息。 
    -verity:对所有代码进行验证。 
    -verityremote:对所有由classloader装载的代码进行验证。 
    -noverify:关闭验证。 
    -verbosegc:垃圾自动收集模块在释放内存时显示一条信息。 
    -DpropertyName=新值:重新定义某一特性的值。 
    4.环境变量 
    Classpath:向系统提供用户定义类的路径。 
    三、jdb???Java语言 
    调试工具 
    jdb命令用来调试Java语言编写的程序。 
    1.格式 
    jdb[选项] 
    2.描述 
    jdb是一个类似于dbx的Java语言类命令行调试器,通过使用JavaDebuggerAPI能够对本地或? 
    痰?Java解释器进行调试 
    启动jdb的方法有两种:常用的方法是用jdb解释执行被调试的类,格式与由Java解释器执行? 
    嗨?第二种方法是把 
    jdb附加到一个已运行的Java解释器上,该解释器必须是带-debug项启动的。 
    比如:jdb-host<主机名>-passwd<口令> 
    口令在Java解释器带-debug选项运行后显示。 
    (1)基本jdb命令 
    help或?:显示jdb命令列表; 
    print:浏览对象内容; 
    dump:显示对象实例变量; 
    threads:显示当前所有线程; 
    where:显示指定线程或缺省线程的堆栈状态。 
    (2)断点 用"stopat源文件名:行号"设置断点,也可用方法名代替行号。使用clear命令清? 
    系 。目前尚不支持单步 
    执行。 
    (3)异常 当出现异常时,jdb认为是不可恢复的断点,自动停止执行。若类是由-g选项编译? 则还可以显示实例和局部变量值。 
    3.选项 
    若是以第一种方式启动,则选项与Java解释器完全一致。 
    若是以第二种方式启动,则有两个选项: 
    -host<主机名>:指定解释器运行的主机名; 
    -passwd<口令>:指出所附加的Java解释器运行时的密码。 
    4.环境变量 
    Classpath:向系统提供用户定义类的路径。 
    四、javah???C头文件 
    和源文件生成器 
    javah命令从一个Java类生成实现native方法所需的C头文件和C源程序文件,用作Java语言? 
    1.格式 
    javah[选项]类名?
    javah-g[选项]类名?
    2.描述 
    javah生成实现native方法所需的C头文件和源文件,使C程序可以访问一个Java对象的实例? 
    头文件名和结构名称由类定义自动生成。若是内部包名,则包名作为前缀加在头文件名和结 
    缺省时,javah为每一个类生成一个文件,存于当前目录中。若使用-stubs选项,则生成源文? 
    使用-o选项则把所有 
    javah-g是用作调试的javah非优化版。 
    3.选项 
    -o输出文件名:把所有生成的类的头文件和源程序文件存放到指定的输出文件中。 
    -d目录名:指定生成的头文件和源文件的存放目录。 
    -td目录名:覆盖javah保存临时文件的目录。 
    -stubs:从Java对象生成C声明文件。 
    -verbose:在标准输出显示生成文件的状态相关信息。 
    -classpath类路径:指定Java搜寻类的路径,覆盖Classpath环境变量指定的路径。Java开发工具JDK 
    4.环境变量 
    Classpath:向系统提供用户定义类的路径。 
    五、javap???Java类文件反汇编器 
    javap对类文件进行反汇编。 
    1.格式 
    javap[选项]类名 
    2.描述 
    javap反汇编一个类文件。输出结果由选项决定。无任何选项时在标准输出时输出类的公共 
    和方法。 
    3.选项 
    -l:显示行号和局部变量表。 
    -p:不仅显示类的公共方法和域,还显示私用的、保护的方法和域。 
    -c:打印出反汇编代码,即由汇编码表示的字节码。 
    -classpath类路径:指定Java搜寻类的路径,覆盖Claspath环境变量所指定的路径。 
    4.环境变量 
    Classpath:向系统提供用户定义类的路径。 
    六、javadoc?JavaAPI文档生成器 
    javadoc从java源文件生成HTML格式的API文档。 
    1.格式 
    javadoc[选项]包|class1.javaclass2.java 
    2.描述 
    javadoc分析Java源文件中的声明和注释,规格化其公共的和保护的API,形成HTML页面。此? 
    生成类列表、类层次结构和所有API的索引。用户可以用包名或用一系列Java源程序名做参数。缺省输出为HTML 
    式页面,也可使用 
    由于iavadoc可以自动对类、界面、方法和变量声明进行分析,形成文档,所以用户可以在Java
    源程序中插一些带 
    HTML标记的特殊格式的注释。 
    Doc注释标记为:/**Doc注释*/ 
    用户可以在注释中插入标准HTML标记,也可以插入javadoc标记(由@开头)。 
    javadoc标记分为类文档标记、变量文档标记、方法文档标记三类。 
    3.选项 
    -classpath类路径:指定javadoc搜寻Java文件的路径。该路径应设置为包的最顶层目录,覆 
    Classpath环境变量指定的路径。 
    -version???:指定版本。 
    -awthor???:指定作者。 
    -doctype???:指定生成文档类型。 
    -noindex:不生成API索引。 
    -notree:不生成类层次树。 
    -d目录名:指定javadoc生成的目标文件存放目录。 
    -verbose:在装入源文件、生成文档和对API排序时,除显示提示信息,还显示每一个源文件? 
    加 的处理时间。
    文档中引用的每一个 
    Applet。 
    3.选项 
    -debug在Java调试器jdb中启动appletviewer,能够调试文档中的Applet。 
    八、JavaWorkShop???新的Java 
    语言开发工具 JavaWorkShop是由SunSoft公司在1996年5月正式推出的一个以WWW为中心的Java开发环境,Java语言编程实现 
    ,是可移植的、硬件和操作系统无关的Java语言开发工具。 
    JavaWorkShop界面类似于一个浏览器,每一个工具是一个由Java语言编写的Applet,用户一应按钮,该工具的 
    Web页面就被调入。 
    JavaWorkShop不仅可作为一个浏览器使用,还可以使开发人员快速开发、生成和调试一个Apllet或Java应用程序,对该Applet或Java应用程序进行测试和生成文档,在Web页面上对其进行发布,以及生成包含Apllet的页面。 
    Applet标记自动插入到HTML页面中。 
    可以单步运行或跳过代码,可以对表达式赋值或求值。 
    可以用Portfolio对其发布,能 
    够从WWW上定位和下载Applet,可以把Ap-plet自动搜入到HTML格式的页面。 
    该公司允诺JavaWorkShop将增加两个新功能:一个VJGUI(可视化Java图形用户界面)生成器, 
    生成Java源码提供方便; 
    一个WYSIWYG(所见即所得)HTML编辑器。 
    因此,JavaWorkShop完善之后,一定是一个功能非常强大的Java集成开发环境,我们将拭目以