目前有一个这样的任务,批java作业。每个人提交若干java代码文件和编译生成的.class文件。
我需要依次执行每个.class文件查看执行结果。现在有以下几个问题:
1.学生的源代码文件都是自己命名的,我无法知道类名。
2..class文件我只需要执行包含有main方法的,其他的不需要。
3.学生组织源代码的方法也不同,有些把所有题目放在同一个目录,有些则分放在不同的目录下。
4.有些.class文件可能有些问题,发生这种问题时我需要重新编译.java文件生成.class执行。
  如果.class文件执行没有问题的话不管.java文件。对以上这些情况,能否设计一个程序可以到自动每个目录下依次执行含有main方法的.class文件。
同时如果出现问题的话把异常信息提示出来。大家有没有一个好的方案分享一下,谢谢~

解决方案 »

  1.   

    想了半天,也没有想到有什么办法,关注一下
    不过可不可以让学生增加个配置文件,来标识main()所在的class或java文件,读取properties文件,然后执行该class,这样来进行控制?
      

  2.   

    每个学生的作业都有自己的一个目录用file打开 依次读取下面的文件 判断.java文件中有没有 public static void main 有读取文件名 执行这个文件名的.class 可以向控制台发送命令的方式执行......java的包名也要读取 javac 和 java的时候要用  
      

  3.   

    遍历目录、
    然后读取java文件、判断是否有、包名和main方法、
    有的话就执行class、
    如果class有问题的话、
    你重新编译还是有问题、、、
    所以就不用重新编译了
      

  4.   

    class 文件名就是类名吧我觉得大概思路是:
    遍历文件夹,找到这些类的名字
    classloader装载这个类,
    用仿射找到main方法
      

  5.   

    遍历java文件所在的目录,解析出文本中是否包含main方法,存在的直接调用java运行与该文件文件名(前缀)相同的.class文件。