我下载的最新版的JDK,然后尝试运行public class HelloWorldApp{
    public static void main (String args[]){
        System.out.println("HelloWorld!");
        if (args.length !=0)  System.out.println("Hello" + args[0] + "!");
}
}编译好后的文件 但是出现
Microsoft Windows [版本 6.1.7600]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。C:\Users\Administrator>java HelloWorldApp
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorldApp
Caused by: java.lang.ClassNotFoundException: HelloWorldApp
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: HelloWorldApp.  Program will exit.C:\Users\Administrator>的错误信息,在网上找了一段别人写的 类似的东西
public class Test{
public static void main(String args[]){
System.out.println(args[0]);
}
}
编译出来运行也是同样的问题 不知道如何解决?

解决方案 »

  1.   

    HelloWorldApp.class 在C:\Users\Administrator>下?如果不在,当然会报java.lang.NoClassDefFoundError: HelloWorldApp
      

  2.   

    如果有package的话就有这个问题~~~
    比如 package com.xx.test;
    没有的话就没这个问题~~
      

  3.   

    C:\Users\Administrator>java HelloWorldApp
    没在源文件目录下吧 直接cmd了
      

  4.   

    编译得到的class文件在哪个目录,你就cd到该目录再执行(估计你应该没用到package)
      

  5.   

    将cmd 进入 你的 HelloWorldApp.class目录下 然后在执行 
    进入目录cmd命令   
    cd E:\test
    E:这样输入
      

  6.   

    目录正确后(把*.java放在C:\Users\Administrator下)
    如果没有包名 则输入  javac  HelloWorldApp.java
                       java  HelloWorldApp
      

  7.   

    肯定是路径错了,出这样的问题可真不应该啊!!英文明明给你提示没有找到class文件
      

  8.   

    classpath 没有包含当前路径假设你的 jdk 安装在 c:\jdk,运行java之前在命令行里输入set classpath=.;C:\jdk\jre\lib\rt.jar
      

  9.   

    java.lang.ClassNotFoundException: HelloWorldApp
    看看当前目录有没有 HelloWorldApp.class还有就是 HelloWorldApp.java 是否 有package xx.xx ;如果有 编译的时候应该使用 >javac -d . HelloWorldApp.java 
    运行 >java xx.xx.HelloWorldApp  XX 
      

  10.   

    1.在当前文件目录下进行编译
    2.看下是否类名和文件名一致
    3.看下后缀名是否为XX.java 
      

  11.   

    这不是一个空指针错误吗,String args[]没有初始化,所以报错
      

  12.   

    首先先到你的文件目录下,然后先编译后执行,javac  编译  java执行
      

  13.   

    奇怪就奇怪在这里啊,路径肯定没有错,我用的windows7 CMD的默认目录就是C:\Users\Administrator
    类名和文件名是一致的。
    我也没有用Package……
    13楼,关于空指错误 求详解~谢谢诸位了先~
      

  14.   

    问题可能在于你的环境变量没配置好
    看你情况应该装了数次JDK,那么有必要确定你的javac.exe 和java.exe 的版本是否一致!!
    具体做法,切到控制台下,分别键入
    javac -version
    java -version
    看编译器和运行环境的版本是否一致!!
    不一致的话修改环境变量后才回来试
    不知道呢是不是刚刚装了Oracle数据库呢??
    装Oracle数据库之后他也会在环境变量里面添加 jre的环境变量
    这个jre版本比较老,才1.3还是1.4的
    我同学就被这个问题搞过,相当的头疼,不过我吸取了这个教训哈~
      

  15.   

    这个有可能是编译器和JVM的版本问题。使用高版本JDK编译出来的class文件在较低版本的JVM上运行。