fox_blue(蓝狐) :代码太长,程序没有问题。如果不加package的时候是没有问题的,程序能够执行,但加上package以后javac编译能够通过,java执行时则给出如上的错误提示。

解决方案 »

  1.   

    头上有package的时候,执行的时候应该把package的路径也打上去。
    举个例子:
    若你在test.java中写,
    package a.b.c;
    则执行的时候就要写,
    c:\>java a.b.c.test
      

  2.   

    看看你放文件的路径是不是和你的PACKAGE一样啊?
      

  3.   

    同意MagicFan(无痕) 的观点你可以看看生成的class文件所在的路径在加与不加package的区别,然后你就明白了.
      

  4.   

    你要保证你在文件中的package路径是你真实存在的路径,不能是虚构的。
      

  5.   

    不过看你的问题应该是classpath的问题,你没有将你自己的包添加到classpath中去,而java解释器是不会搜索不在classpath中的路径的,所以你加了package就不对了,不加反而能运行的原因是:没有设置package的*.java文件编译后生成的*.class文件是生成在你的JDK所在的根目录的,所以java解释器能够找到*.class文件。
      

  6.   

    假设类Test.class在c:\test\a\b\c\
    在Test中有package a.b.c;
    则可如下运行:java -classpath=c:\test a.b.c.Test