安装jdk以后,在cmd中运行java,javac都可以,然后建立如下的路径文件夹E:\javawork\lesson1,在此路径下建立记事本,代码如下:
public class hello
{
 public static void main(String [] args)
 {
 }
}
运行javac能编译生成hello.class,可是就是不能用java命令运行,总是提示"exception in thread "main"java.lang. Noclassdeffounderror:E:\javawork\lesson1\hello",我已经设置了classpath为E:\javawork\lesson1,为什么还是错误呢???(path路径也没有错误)

解决方案 »

  1.   

    试试 在classpath前 加  .;   这个代表当前路径
      

  2.   

    你不会是 用  java hello.java  这个命令吧,正确的是 java hello
      

  3.   

    加了E:\javawork\lesson1就不用加当前路径了
      

  4.   

    一个是看环境变量是否设置好了,还有就是看看你的文件名和类名是不是一样~~如果不一样也会出现这样的情况你的文件名应该是 hello.java
      

  5.   

    樓主在有CLASS的文件目錄下,
    用javac hello.java
      java hello   ------不用寫擴展名.
    來進行編譯CLASSPATH不是設置為"E:\javawork\lesson1"
    而是你安裝JDK的路徑,
    例如: C:\jdk1.5\bin
      

  6.   

    我运行的是java E:\javawork\lesson1\hello
    我把CLASSPATH設成安裝JDK的路徑了,
    他还是提示那个!
      

  7.   

    JAVA_HOME=JDK安装的位置~~如F:\Java\jdk1.5.0_06
    CLASSPATH= .;%JAVA_HOME%\lib
    PATH= %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin (如前面有东西,就加在后面,用;隔开)我就是这样配置的~~一点问题都没有
      

  8.   

    环境变量问题..注意加.;注意改完要重新开CMD窗口
      

  9.   

    classpath应该设置为编译成功的那个.class文件所在目录
      

  10.   

    你运行的程序是
    public class hello
    {
     public static void main(String [] args)
     {
     }
    }
    吗?就是main函数里面是么都没有吗?
    如果你的环境变两项你说得没有什么问题!我想你应该在main函数里面加点内容
    System.out.print("hello java");
    这样看看是不是就可以了!
      

  11.   

    public class hello   //这里是hello
    E:\javawork\lesson1  // 这里是lesson1.java  应该把lesson1.java 改为 hello.java
    这样是不行的hello  与 lesson1 的名要相同
    编译应该:javac hello.java
    运行:java hello      //应该什么都没有输出吧..因为你main函数里什么都没
    这样就对了!---------------------------------------------
    俺也是新手-_-!!说错了不介意喔..
      

  12.   

    以前我也遇到过这样的问题,结果是在用户变量和系统变量中都写了classpath
    这样用 java 命令时也出现上面所说的问题,后来把用户变量的classpath删了,就好使。
      

  13.   

    如果你安装的是jdk1.5的话,可以不用写classpath,只写path的路径就行了,在系统的环境变量中加入你安裝JDK的路径.
    例如: C:\jdk1.5\bin
      

  14.   

    环境变量中建立classpath值为.;
      

  15.   

    如果程序是public class hello
    {
     public static void main(String [] args)
     {
     }
    }
    运行javac E:\javawork\lesson1\hello.java通过
    运行java E:\javawork\lesson1\hello通过
    可是如果在main里面加上system.out.println("hello");
    就会提示什么pacdage不存在,这个问题该怎么解决呀?我觉得tomison() 说的不对吧,classpath应该=E:\javawork\lesson1吧!!他不是指出class的路径吗?
      

  16.   

    System.out.println("显示信息");
    System中的“S”要大写。