µ÷ÓÃJava±àÒëÆ÷API±àÒëJavaÔ´´úÂë
Compiling with the Java Compiler API
µ÷ÓÃJava±àÒëÆ÷API±àÒëJava
´ÓµÚÒ»Ì쿪ʼ,±ê×¼Javaƽ̨¾ÍȱÉÙÄܹ»±»µ÷ÓÃ,È¥²úÉúJava×Ö½ÚÂëµÄ±àÒëÆ÷½Ó¿Ú. ʹÓÃSunʵÏֵį½Ì¨,Ò»¸öÓû§¿ÉÒÔͨ¹ý·Ç±ê×¼µÄ com.sun.tools.javac °üÖеÄMain class È¥±àÒëÄãµÄ´úÂë (Äã¿ÉÒÔÔÚlib×ÓĿ¼Ï嵀 tools.jar ÎļþÀïÕÒµ½Ëü). È»¶øÕâ¸ö°ü²¢Ã»ÓÐÌṩһ¸ö±ê×¼µÄ¹«¿ªµÄ±à³Ì½Ó¿Ú. ʹÓÃÆäËüʵÏÖµÄÓû§±ØÈ»²»ÄÜ·ÃÎÊÕâ¸öÀà. ʹÓÃJava SE 6ºÍÔÚJSR-199Öж¨ÒåµÄËüµÄеÄJava±àÒëÆ÷½Ó¿Ú,Äã¿ÉÒÔ´ÓÄã×Ô¼ºµÄÓ¦ÓóÌÐòÀï·ÃÎÊjavac±àÒ빤¾ßÁË.
ÓÐÁ½ÖÖ·½Ê½Ê¹ÓÃÕâÖÖ¹¤¾ß. Ò»ÖÖÊǼòµ¥µÄ,Ò»ÖÖÊÇÉÔ΢¸´Ôӵ㵫ӵÓиü¶àÑ¡ÏîµÄ. ÄãÊ×ÏȽ«»áÓýϼòµ¥µÄÒ»ÖÖÈ¥±àÒë "Hello, World"³ÌÐò,¾ÍÊÇÏÂÃæµÄÕâ¸ö:
public class Hello {
public static void main(String args[]) {
System.out.println("Hello, World");
}
}
ÒªÏë´ÓJava³ÌÐòÀïµ÷ÓÃJava±àÒëÆ÷,ÄãÐèÒª·ÃÎÊJavaCompiler ½Ó¿Ú. ³ý´ËÍâ,ͨ¹ý·ÃÎÊÕâ¸ö½Ó¿Ú,Äã¿ÉÒÔÉèÖÃÔ´´úÂëµÄ·¾¶,classpath,ºÍÄ¿±êĿ¼. ͨ¹ýÖ¸¶¨¿É±àÒëµÄÎļþΪ JavaFileObjectinstance ,Äã¿ÉÒÔ½«ËüÃÇÈ«²¿±àÒë. È»¶ø,Äã²¢²»ÐèÒª¶Ô JavaFileObject Á˽â¶àÉÙ.
¿ÉÒÔʹÓà ToolProvider ÀàÈ¥ÇëÇó theJavaCompiler ½Ó¿ÚµÄȱʡʵÏÖ. Õâ¸ö ToolProvider ÀàÌṩÁËÒ»¸ö getSystemJavaCompiler() ·½·¨, Ëü·µ»ØÒ»¸ö JavaCompiler ½Ó¿ÚµÄʵÀý.
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
ʹÓà JavaCompiler ÔËÐбàÒë×î¼òµ¥µÄ·½·¨Êǵ÷ÓÃÔÚÕâ¸ö½Ó¿Ú¹¤¾ßÀﶨÒåµÄ run() ·½·¨,ËüµÄʵÏÖÊÇ:
int run(InputStream in,
OutputStream out,
OutputStream err,
String... arguments)
·Ö±ðΪǰÈý¸öȱʡ²ÎÊý System.in, System.out, and System.err ´«Èë null Öµ. ²ÎÊý¼¯ String ¶ÔÏó±íʾ×Å´«Èë±àÒëÆ÷µÄÎļþµÄÃû³Æ.
ÕâÑù,ÄãÓ¦¸ÃÏñÏÂÃæÕâÑùÈ¥±àÒëÇ°ÃæÏÔʾµÄ Hello Ô´³ÌÐò:
int results = tool.run(null, null, null, "Hello.java");
¼ÙÉèûÓбàÒë´íÎó,ÕâÑù»áÔÚÄ¿±êĿ¼Àï²úÉúÒ»¸ö Hello.classÎļþ. Èç¹ûÕâÀïÓдíÎó, run() ·½·¨»á°ÑËüÊä³öµ
Ïà¹ØÎĵµ£º
Ò»£º×¼±¸ www.savarese.org download
1. rocksaw-1.0.0-src.tar.gz
2. vserv-tcpip-0.9.2-src.tar.gz
¶þ£º±àÒëÔ´ÎļþµÃµ½jar°ü ʹÓÃAnt
1. build vserv-tcpip-0.9.2-src
ÔÚvserv-tcpip-0.9.2Ŀ¼ÏÂÃæ½¨Ò»¸ötestsĿ¼£¬È»ºóÔÚcmd´°¿ÚϽøÈë ......
declarations n. ÉùÃ÷
extends v. ¼Ì³Ð
¼Ì³ÐÖÐ×¢ÒâµÄÎÊÌ⣺
1 ÖØÐ´(Ò²½Ð¸²¸Ç£¬Ò²½ÐÖØ¹¹)£ºÖØÐ´·½·¨±ØÐëºÍ±»ÖØÐ´·½·¨¾ßÓÐÏàͬµÄ·½·¨Ãû³Æ¡¢²ÎÊýÁбíºÍ·µ»ØÖµÀàÐÍ£»
ÖØÐ´·½·¨²»ÄÜʹÓñȱ»ÖØÐ´·½·¨¸üÑϸñµÄ·ÃÎÊȨÏÞ¡£
ÖØÐ´ÊÇÀàÓëÀà ......
http://java.csdn.net/index.php/2009/09/01/java%E5%BC%80%E5%8F%91%E8%80%85%E6%9C%80%E5%B8%B8%E5%8E%BB%E7%9A%8420%E4%B8%AA%E8%8B%B1%E6%96%87%E7%BD%91%E7%AB%99/
JAVA¿ª·¢Õß×ȥµÄ20¸öÓ¢ÎÄÍøÕ¾
1.[http://www.javaalmanac.com
] – Java¿ª·¢ÕßÄê¼øÒ»ÊéµÄÔÚÏß°æ±¾. ÒªÏë¿ìËٲ鵽ijÖÖJava¼¼ÇɵÄÓ÷¨¼°Ê¾Àý´ú ......
¹Ø¼ü×Öfinal£º
ÔÚJavaÖÐÉùÃ÷Àà¡¢ÊôÐԺͷ½·¨Ê±£¬¿ÉʹÓùؼü×ÖfinalÀ´ÐÞÊΡ£
final±ê¼ÇµÄÀ಻Äܱ»¼Ì³Ð¡£
final±ê¼ÇµÄ·½·¨²»Äܱ»×ÓÀàÖØÐ´¡£
final±ê¼ÇµÄ±äÁ¿(³ÉÔ±±äÁ¿»ò¾Ö²¿±äÁ¿)¼´³ÉΪ³£Á¿£¬Ö»Äܸ³ÖµÒ»´Î¡£
final±ê¼Çµ ......
eclipse¹Ù·½ÍøÕ¾
http://www.eclipse.org/downloads/
Eclipse 3.4M2¹Ù·½ÏÂÔØµØÖ· ´óС£º140M
http://download.actuatechina.com/eclipse/eclipse/downloads/drops/S-3.4M2-200709210919/eclipse-SDK-3.4M2-win32.zip
Eclipse Classic3.41 ´óС:151M
http://www.eclipse.org/downloads/download.php?file=/eclipse/down ......