假设我有一个文件: Employee.javapackage mycompany.com.cnimport java.util.*public class Employee
{
  void printout()
  {
    System.out.println("Employee test");
  }
}我用cmd命令行工具可以正常编译这个程序,但是运行就不行了,这个包该怎么用?
% javac Employee.java
% java Employee
....// Error [NoClassDef find]

解决方案 »

  1.   

    javac -d. Employee.java   //编译并生成包结构java mycompany.com.cn.Employee //运行时写上全类名(加上包名)
      

  2.   

    你的运行方法是应用程序的运行方法,而应用程序必须有public static void main(String args[])方法,你可已将void printout()改为public static void main(String args[])再执行可以了
      

  3.   

    楼主你少了分号,没编译成功,就没有class文件了
      

  4.   

    还有一个问题是我使用java/javac命令需要在Employee.java所在的目录下执行这些命令吗?我究竟该在哪个目录下执行这些命令?
      

  5.   

    javac mycompany\com\cn\Employee.java
    java mycompany.com.cn.Employee
    命令行是这样的。当然前提是要你在mycompany的上一级目录下。
      

  6.   

    你没有一个main()主函数啊
    package mycompany.com.cn
    import java.util.*
    public class Employee
    {
      void printout()
      {
        System.out.println("Employee test");
      }
    public static void main(String []args)
    {
    new Employee().printout();
    }
    }
    在你存放java文件的目录下javac
      

  7.   

    用cmd命令行工具可以编译
    但是要运行的话就必须要有main()