如何通过代码来控制类的编译?在控制台编译不太方便,我想通过写一个类来 编译其他的类 知道的请指点一下

解决方案 »

  1.   

    其实我问的是如何通过 java api来完成代码的动态编译,代码代码如下:public void compileClass() {
          String filePath = new File(DynamicClassLoader.class.getClassLoader().
                                                                 getResource("").getFile()).getAbsolutePath();
          System.out.println(filePath);
          String[] source = { "-d", filePath, CLASS_FILE};
          System.out.println("javac out:" + com.sun.tools.javac.Main.compile(source));
     }可是在执行的过程中老是报如下错误:
    Exception in thread "main" java.lang.NoClassDefFoundError: javax/tools/StandardJavaFileManager不知道有人这样干过没,如果有人遇到请说明下一我是错在那里了
      

  2.   

    你写的那个类最终不还是要用javac来编译吗?既然这样你写的那个类也就没意义了!
      

  3.   


    的确是这样,但是我会动态的生成一些类,这个类是用来编译动态生成的.java文件的,
    而我写的这个这个类会提前编译好,需要用的时候直接调用方法就可以了