/*Hello.java*/
public class Hello 
{
public static void main(String[] args) 
{
System.out.println("Hello World!");
}
}
javac和java编译都正常。
现想引入包,在文件顶头插入一句package com;,想引入com包内
javac编译可以通过,但java编译报错
Exception in thread "main" java.lang.NoClass DefFoundError:Hello<wrong name:com/Hello>
at java.lang.ClassLoader.definClass0<Native Method>
..........
我的环境变量是:
JAVA_HOME=C:\j2sdk1.4.0_01
CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tool.jar;
PATH=%JAVA_HOME%\bin;
我把Hello.class文件也放在当前目录下的com文件夹下了。
以前是可以的我想是环境变量的问题,请高手帮我看下

解决方案 »

  1.   

    返回com上一级目录,java com.Hello参考
      

  2.   

    运行class的时候,需要在最顶层包所在目录执行java指令
    java com.Hello
      

  3.   

    java com.Hello是可以的
    是在cmd下运行的,我用的是UE和cmd下运行结果一样
    我的目的是要引用包里的文件,现在就是不能引用啊
    错误和上面我提到的一样
    你们可以把你们的classpath和path的设置帖出来看看吗?
    我怀疑是路径的问题
    可能是注册表的原因吗?
      

  4.   

    编译时用 javac XXXX.java -d .
      

  5.   

    在com上一级目录编译时用 javac XXXX.java -d .