`

JAVA基础:从简单程序看java运行错误

阅读更多

问HelloWorld问题的人实在是太多了,而且经常都以“问一个最简单的问题”开头。其实回想一下,自己也是从这个阶段过来的,说一句“你好”,真的是一个最简单的问题吗?
首先,我们要假设一下我们的平台是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... 好,改好了,嘻嘻... http://www.mscto.com

javac HelloWorld.java
...(咦,怎么什么也没有呀?)//faint 这就是编译通过了!看看是不是多了一个HelloWorld.class?
按书上教的 java HelloWorld(不是java HelloWorld.class哟,因为在j2ee规范中java指令中的“.”是指路径的意思,如果是java HelloWorld.class 那么系统就会查找HelloWorld目录下的class.class文件,这样当然是不可能存在的)。

* 错误4: http://www.mscto.com

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: http://www.mscto.com

Exception in thread "main" java.lang.NoSuchMethodError: main

(//咣当)别,坚持住。看看你的代码,问题出在main方法的定义上,写对地方了吗,是这样写的吗:

public static void main(String args[]) { // 一个字都不要差,先别问为什么了...对,包括大小写!

java -classpath . HelloWorld (听天由命了!)
Hello World! http://www.mscto.com

(faint!终于...)

欢迎来到Java世界!所以说,无法运行HelloWorld 真的并不是一个“最简单的问题”。

附:HelloWorld.java
// HelloWorld.java
public class HelloWorld {
    public static void main(String args[]) {
        System.out.println("Hello World!");
    }
}

分享到:
评论

相关推荐

    java基础:简介和环境

    - **跨平台性**:Java程序可以在任何安装了Java虚拟机(JVM)的平台上运行,体现了“一次编写,到处运行”的理念。 - **解释型语言**:Java程序先被编译成字节码(.class文件),然后由JVM解释执行。 - **多线程**:...

    Java程序设计基础

    Java程序设计基础是编程学习的重要领域,主要涵盖了Java语言的基础概念、语法结构和特性。Java是一种全面面向对象的编程语言,由Sun公司的James Gosling等人于1990年开发,最初命名为Oak,后来因互联网的兴起而更名...

    一些java简单程序

    1. **环境搭建**:首先,你需要下载并安装Java Development Kit (JDK),设置好环境变量,包括JAVA_HOME、PATH和CLASSPATH,确保可以在命令行中运行Java程序。 2. **基本语法**:Java的语法规则类似于C++,但更加...

    java错误处理:java.lang.OutOfMemoryError: Java heap space

    在Java应用程序开发过程中,经常遇到的一个问题就是内存溢出错误,特别是在处理大量数据或长时间运行的应用时。其中,“java.lang.OutOfMemoryError: Java heap space”是一种常见的异常情况,它表明Java虚拟机(JVM)...

    Java技术:Java程序设计及应用.pdf

    在Java技术领域,Java程序设计及应用是学习和掌握编程基础的重要部分。本教程主要针对初学者,旨在通过一系列实验实训来提升学生的编程技能和实际操作能力,特别关注了安全方面的知识。以下是对各实验内容的详细解释...

    Java程序设计 基础、编程抽象与算法策略源码

    《Java程序设计:基础、编程抽象与算法策略》是一本由埃里克·S·罗伯茨编著,陈昊鹏翻译的书籍,它被广泛应用于斯坦福大学的Java教学中,旨在帮助初学者和进阶者深入理解编程概念、编程抽象以及算法策略。...

    Java语言程序设计(基础篇)习题答案

    10. **异常和错误**:Java中,异常是程序运行时可以恢复的不正常状态,而错误是不可恢复的严重问题。正确处理异常和错误是保证程序稳定运行的关键。 这些知识点构成了Java基础编程的核心,通过解决习题,学习者不仅...

    实习课题01:java运行环境设置及程序运行[文].pdf

    通过完成本次实习,学员将能够理解Java应用程序的执行过程,并能够独立地设置Java运行环境,包括下载和安装JDK(Java Development Kit),配置必要的环境变量,以及运行简单的Java程序。 **实习目的:** 1. **熟悉...

    Java程序设计基础答案

    Java程序设计基础是计算机科学领域一个至关重要的课程,主要针对初学者,旨在教授如何使用Java语言进行编程。这个课程涵盖了一系列的关键概念和技术,包括语法、数据类型、控制结构、类与对象、异常处理、集合框架等...

    java实现简单投票程序

    基于提供的标签,我们可以推断出该程序的开发环境是MyEclipse,这是一款强大的Java集成开发环境(IDE),用于编写、调试和部署Java应用程序。 首先,我们需要理解Java的基础知识。Java是一种面向对象的编程语言,由...

    java程序的编译及运行实验说明

    Java 程序的编译及运行是一门编程语言的基础和核心,掌握 Java 程序的编译及运行是每个 Java 开发者必备的技能。本实验的目的是让学生熟悉 Java 编译系统环境,掌握 Java 的 Application 和 Applet 的编译及运行方法...

    Java零基础 - 使用java命令运行Java程序.md

    ### Java零基础 - 使用java命令运行Java程序 #### 编写示例源码 为了能够更好地理解如何使用`java`命令来运行Java程序,我们首先需要编写一段Java源代码。这里我们将创建一个非常简单的程序——“Hello, World!”...

    java简单实例程序源代码

    Java中的异常处理是通过try-catch-finally语句块来实现的,它允许程序员优雅地处理运行时错误,避免程序突然崩溃。 2. **CH18**: 可能涉及到多线程。Java提供了Thread类和Runnable接口来创建和管理线程,同时还有...

    Java简易聊天程序

    以上就是关于"Java简易聊天程序"的主要技术点,涵盖了从网络通信到用户交互的整个流程。通过学习和实践这样的项目,开发者可以深入理解Java的网络编程和多线程特性,为构建更复杂的分布式系统打下基础。

    Java程序设计基础(第5版)

    《Java程序设计基础(第5版)》是一本深入浅出的Java编程教材,适合初学者和有一定经验的程序员作为学习参考。此书全面覆盖了Java语言的基础概念、语法结构以及编程实践,旨在帮助读者掌握Java编程的核心技能。在本节...

    java程序自动重新启动

    在给定的标题"java程序自动重新启动"中,我们可以理解这是一个实现了自动重启逻辑的Java程序。描述指出,这个程序由三个.java文件组成:Test.java、Watch.java和AbstractRun.java,它们构成了一个简单的自动重启系统...

    Java语言程序设计 基础篇 第10版 梁勇 答案

    Java程序的编写基于类和对象,通过封装、继承和多态等面向对象特性实现代码复用和模块化。 2. **Java语法**:Java语法严谨,包括数据类型(如整型、浮点型、字符型、布尔型)、变量声明、运算符、控制结构(如if...

    完整版 Java基础入门教程 Java程序语言设计 01 java语言基础 Java语言概述(共24页).ppt

    5. **平台无关性**:Java程序编译成字节码,可在任何支持Java的平台上运行,只需安装Java虚拟机(JVM)。 6. **可移植性**:源代码级和目标代码级的可移植性,确保了Java程序在不同平台间的迁移。 7. **解释执行和...

Global site tag (gtag.js) - Google Analytics