运行时动态编译Java源代码并加载利用


  支持多个文件动态编译的代码段:

        /**
         * @param srcFiles
         */
        private void compileTheJavaSrcFile(File ... srcFiles) {
            try {
            	JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
                StandardJavaFileManager fileMgr = compiler.getStandardFileManager(null, null, null);
                CompilationTask t = compiler.getTask(null, fileMgr, null, null, null, fileMgr.getJavaFileObjects(srcFiles));
                t.call();
    			fileMgr.close();
    		} catch (Throwable e) {
    			throw new RuntimeException("Fail to compile files [" +  srcFiles + "]", e);
    	    }  
        }


你可能感兴趣的:(java动态编译)