如何動態生成一個Java類
開發者編寫Java 代碼,調用 javac 編譯生成 class 文件。然後通過類加載機制載入 JVM ,即成爲了應用可以使用的 Java 類。
可以寫一個編譯類編譯 java 代碼:
import java.io.File;
import java.io.FileWriter;
import java.lang.reflect.Method;
import javax.tools.JavaCompiler;
import javax.tools.JavaCompiler.CompilationTask;
import javax.tools.StandardJavaFileManager;
import javax.tools.ToolProvider;
/**
* 動態生成類以及編譯,JDK版本必須要在1.6,或者1.6以上
*/
public class CompilerTest {
//回車加換行符
static String rt = "\r\n";
//生成類的源文件,寫成字符串的形式
static String src =
"package com.test;"+
"public class HelloWorld {" + rt +
" public static void main(String[] args) {" + rt +
" System.out.println(\"Hello world!\");" + rt +
" }" + rt +
"}";
public static void main (String[] args) throws Exception {
//寫文件,目錄可以自己定義
String filename = System.getProperty ("user.dir") + "/src/HelloWorld.java";
//System.out.prin