java问题求解!!请高手帮忙啊!我是新手!!

G:\Documents and Settings\love>d:

D:\>cd java

D:\java>javac HelloWorld.java

D:\java>java HelloWorld
错误: 找不到或无法加载主类 HelloWorld

D:\java>

一句话:环境变量classpath(类路径)没有设置正确,使得JAVA虚拟机无法找到类来执行目标程序。

详细原因:java是通过java虚拟机来解释运行的,也就是通过java命令; javac编译生成的.class文件就是虚拟机要执行的代码, 称之为字节码(bytecode),虚拟机通过classloader来装载这些字节码,也就是通常意义上的类.这里就有一个问题,classloader从哪里知道java本身的类库及用户自己的类在什么地方呢?或者有着缺省值(当前路径).或者要有一个用户指定的变量来表明, 这个变量就是类路径(classpath),或者在运行的时候传参数给虚拟机.
通过这段文字,你就知道,为什么javac编译通过了,但是java命令却出错NoClassDefFoundError(类定义没找到)的原因了。
就是环境变量classpath(类路径)没有设置正确,使得JAVA虚拟机的classloader无法找到类来执行目标程序。

下面来搭建JDK1.6和Tomcat6.0的环境:

1、新建系统变量JAVA_HOME变量(JAVA_HOME指明JDK安装路径。)
设定值为:
C:\Java\jdk1.6.0_04

2、在系统变量中的path中添加(Path使得系统可以在任何路径下识别java命令。):
;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;%CATALINA_HOME%\bin

3、新建系统变量CATALINA_HOME
设定值为:
C:\Java\apache-tomcat-6.0.14

4、新建系统变量CLASSPATH(CLASSPATH为java加载类(class or lib)路径,只有类在classpath中,java命令才能识别.)
设定值为:
.;%JAVA_HOME%\lib;%JAVA_HOME%\jre\lib;%CATALINA_HOME%\common\lib

注意一定要加“.”,“.”代表当前目录,即可到处建立.java文件,java class都能找到并编译运行用户的.java文件。

5、新建用户变量CLASSPATH(CLASSPATH为java加载类(class or lib)路径,只有类在classpath中,java命令才能识别.)
设定值为:
.;%JAVA_HOME%\lib;%JAVA_HOME%\jre\lib;%CATALINA_HOME%\common\lib
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-09-01
HelloWorld.java
里面的HelloWorld必须是public得才可以,而且main方法必须是在HelloWorldl里面
第2个回答  2011-09-01
public class HelloWorld{
public static void main(String[] args){
System.out.println("hello Java");
}
}
自己看看那里不一样,注意文件名必须和主函数所在的类名相同,也就是你文件名必须为HelloWorld
要是都一样就是你没配置好环境变量 五楼有配环境变量的
一 二 六 楼扯淡 他这是dos运行 和包有毛关系.
第3个回答  2011-09-01
javac 执行成功了吗?
然后看下类里面是否有 package xxx
如果有的时候要用 java xxx.HelloWorld
第4个回答  2011-09-01
查看下 你类中 package 后面的路径 将这个路径加到HelloWorld
前面执行
第5个回答  2011-09-09
我也是新手,不过我自己试了试,把 HelloWorld.java 保存,也就是记事本保存
相似回答