当前位置:  技术问答>java相关

最简单的程序(打印hello,word的程序)不能运行,请指教!!!

    来源: 互联网  发布时间:2015-03-09

    本文导语:  程序源码如下:  public class HelloWorldApp{     public static void main (String args[]) {     System.out.println ("Hello World!");     }     } 用javac HelloWorldApp.java编译时通过,用java HelloWorldApp运行时出现如下错误:   Excep...

程序源码如下:
 public class HelloWorldApp{ 
   public static void main (String args[]) { 
   System.out.println ("Hello World!"); 
   } 
   }
用javac HelloWorldApp.java编译时通过,用java HelloWorldApp运行时出现如下错误:
  Exception in thread "main" java.lang.NoClassDefFoundError:HelloWorldApp
请问该如何解决?

|
首先,我们要假设一下我们的平台是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!") ;

}

}

附录:(其他常见错误FAQ)

我是个JAVA初学者,刚装了JDK1。3,照着书上写了个HELLOWORLD的程序,

用JAVAC编译也成功了,目录下生成了。CLASS文件,

可是当我用JAVA命令执行时,却出现如下错误:

Error opening registry key 'Software\JavaSoft\Java Runtime

Environment'

Error: could not find java.dll

Error: could not find Java 2 Runtime Environment.

请问这是哪儿出了问题呀!

回答一:

>装 1.3.1 吧

>这是个小bug

>自己改改注册表也行

>运行环境->Runtime Environment

回答二

>修改你的注册表中 JavaHome

>RuntimeLib 到正确的目录

回答三:

>检查path,将jdk\bin目录加在path的开头
 

|
public class HelloWorldApp{ 
  public static void main (String[] args) { 
  System.out.println ("Hello World!"); 
  } 
  }

环境变量是否设置?

    
 
 

您可能感兴趣的文章:

  • 我用的是putty软件SSH到linux上,但启动程序后关闭终端程序就退出了,在线等,请高人指教!
  • 一个为似企业QQ的软件(含服务器程序和客户端程序)的Java源码,可以卖多少钱?请指教
  • 高手指教:怎样在LINUX下运行WIN98程序?
  • 想使用Kliyx把Delphi写的代码编译为Linux程序, 装什么Linux什么版本最好?请明人指教,谢谢!?
  • 在运行一个应用程序时出的问题,请指教,急!!
  • 用Qt3.1.4编写的程序,如何加入动态库呀?诚恳指教!!
  • 关于jb7的问题。如何让程序中的swing组件在design中可见?请高手指教!
  • 用Qt3.1.4编写的程序,如何加入自己编写的另外一个动态库呀?诚恳指教!!
  • 高手指教——在没有卸载程序的情况下,如何卸载已安装的软件,象Windows那样?
  • 在命令行下怎样单步跟踪一个java程序的运行?请各位指教!
  • 小弟初入java这一行,很想看看已经编好的源程序,愿意指教的请发送到samgundam@sina.com!谢谢
  • 请问重新编译LINUX内核是否能将没有用的外设的驱动程序删除并减少内核占有内存的资源?请好心人仕指教!
  • 各位大侠,我的第一个j2ee程序竟然有误。请指教:::
  • 各位大虾!求救!!有一个关于调用输入类的程序,有一个错误,请指教!!
  • docker中文入门学习手册 iis7站长之家
  • 我用记事本写了一个小程序是带窗口的,源程序如下,我该怎么运行:是java FrameTest?还是javaw FrameTest?请指教一下!!!
  • 我想开发一个基于BS结构的办公自动化程序,不知道用哪种语言合适,请大虾指教!
  • 一个JAVASCRIPT调用CGI程序的问题。绝对有点难,请大家指教,在先等待!!!急啊!!!
  • redhat 9.0 下驱动程序开发是否需要重新编译内核?求高手指教!
  • 我有个程序是查找数据的(做成一个列表),但不知道为什么会core dump,请各位指教一下。谢谢!
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • Linux下的程序是在内存中运行的吗?为什么在程序运行的时候可以删除程序文件?
  • Ubuntu程序开机自动启动设置(服务和自动运行配置文件)的几种方法
  • SecureCRT上运行一个JAVA程序,该程序类似一个在WINDOWS下一直运行的CMD窗口的东西,SecureCRT关掉后,JAVA还会继续运行吗?
  • windows下cmd命令提示符下让程序后台运行命令
  • telnet到主机去运行一个我编的程序,退出telnet时那个程序也不运行了,这是怎么回事?按程序逻辑它应该一直运行下去的。
  • python计算程序开始到程序结束的运行时间和程序运行的CPU时间
  • jsp程序运行一次后,再修改原jsp程序,为什么运行还是的还是原来的程序??
  • 我的linux程序 如何 在pc机器上运行。现在我用arm-linux-g++ 编译后的程序在我的嵌入设备上运行。
  • 在JB7中默认的情况下会为程序生成一个包,程序在JB7中可以正常运行,可是在JDK中却无法运行
  • 我用C在UNIX下写程序,生产文本,如何能让我的程序并行运行,好加快运行速度,举例说明。
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 重装服务器后IIS网站错误(应用程序中的服务器错误)
  • 为什么我在java程序里启动的一个程序在java程序关闭后,该程序的所有进程都关掉了
  • windows server2008上PowerBuilder程序系统错误解决方法
  • Linux 编程怎么样在程序开启一个程序,和关闭一个程序?
  • c语言判断某一年是否为闰年的各种实现程序代码
  • 请问从一个java程序中如何调用另一java程序,并控制可以其状态(最小化、最大化、结束程序),还有怎样知道那个被调用的程序结束。
  • 程序员的八种级别,你属于哪一级?
  • 我的程序是用c写的gtk+程序,有个函数的参数要传给它图片的文件名,但是图片和原程序不在同一目录下怎么办?怎么在程序里指定文件的路径
  • 在docker容器中通过apt-get安装新的程序
  • 为什么linux下的C++程序这么少见? 请问那里有linux下的C++程序?什么类型的程序都可以.
  • linux下通过crond实现自动执行程序
  • 我写了个linux下的网络程序,程序在多个电脑间通信,但是我没有多个电脑,怎么调试这样的程序啊?
  • http协议介绍,文件上传分析及程序举例
  • 在java控制台程序中,可以用System.exit(0);使用一个程序终止,那么在servlet中如何使一个servlet程序终止呢?
  • 程序员赚钱致富的6种方法
  • 程序调用脚本,脚本启动另一个程序,如何让原始程序彻底释放资源?
  • HASH查找的程序实现及性能分析
  • linux下,一个程序如何向另一个程序发送消息,另一个程序如何接收
  • 程序员为了健康必看!早晨空腹喝水,是对还是错?
  • 请教!Linux系统C开发的程序,为什么我的程序运行时内存持续增长,程序退出后内存也没有降低?
  • 如何使用linux下gdb来调试python程序
  • 从定时从A程序调用B程序(B程序运行一下就退出)多次后,出现僵尸进程?如何解决?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3