public static void main(String[] args) throws IOException {
File sourceFile = new File("c:\\java\\A.java");
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
System.out.println(System.getProperties().getProperty("java.class.path") + ";F:\\IndigoSpace\\ejp");
compiler.run(null, null, null, "-cp", System.getProperties().getProperty("java.class.path") + ";F:\\IndigoSpace\\ejp", sourceFile.getPath());
System.out.println(new File("c:\\java\\").toURI().toURL());
URLClassLoader loader = new URLClassLoader(new URL[]{new File("c:\\java\\").toURI().toURL()});
try {
loader.loadClass("A");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
需要注意的是,上面的代碼只有在JDK上才能運(yùn)行,因?yàn)镴DK里面才有javac。而且在實(shí)際應(yīng)用中,你還要
自己將package聲明轉(zhuǎn)換成文件目錄,否者裝載類的時候就會找不到。
posted on 2011-10-21 17:05
West Farmer 閱讀(332)
評論(0) 編輯 收藏 所屬分類:
Java