突然發現我認識的今年畢業的人工作都找的很好(除了我們學校的),一個去了上海思科,一個是本科生,也去了上海,一個去了甲骨文。
不知道我畢業的時候會咋樣,每念及此,倍感憂心。
不知道我畢業的時候會咋樣,每念及此,倍感憂心。
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE rdf:RDF [
?? <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
?? <!ENTITY rdfs 'http://www.w3.org/TR/1999/PR-rdf-schema-19990303#'>
?? <!ENTITY Maana 'http://www.vvasam.com/Maana#'>
]>
<rdf:RDF xmlns:rdf="&rdf;"
?? xmlns:Maana="&Maana;"
?? xmlns:rdfs="&rdfs;">
<Maana:ASCII rdf:about="&Maana;RDFTest_Instance_0"
?? Maana:Name="A"
?? Maana:value="65"
?? rdfs:label="A:65">
?? <Maana:system rdf:resource="&Maana;RDFTest_Instance_2"/>
</Maana:ASCII>
<Maana:System rdf:about="&Maana;RDFTest_Instance_1"
?? Maana:Name="lowercase"
?? rdfs:label="lowercase"/>
<Maana:ASCII rdf:about="&Maana;RDFTest_Instance_10000"
?? Maana:Name="b"
?? Maana:value="98"
?? rdfs:label="b:98">
?? <Maana:system rdf:resource="&Maana;RDFTest_Instance_1"/>
</Maana:ASCII>
<Maana:ASCII rdf:about="&Maana;RDFTest_Instance_10001"
?? Maana:Name="B"
?? Maana:value="66"
?? rdfs:label="B:66">
?? <Maana:system rdf:resource="&Maana;RDFTest_Instance_2"/>
</Maana:ASCII>
<Maana:AscXRef rdf:about="&Maana;RDFTest_Instance_10002"
?? rdfs:label="b:98:B:66">
?? <Maana:keyName rdf:resource="&Maana;RDFTest_Instance_10000"/>
?? <Maana:keyValue rdf:resource="&Maana;RDFTest_Instance_10001"/>
</Maana:AscXRef>
<Maana:AscXRef rdf:about="&Maana;RDFTest_Instance_10005"
?? rdfs:label="a:97:A:65">
?? <Maana:keyValue rdf:resource="&Maana;RDFTest_Instance_0"/>
?? <Maana:keyName rdf:resource="&Maana;RDFTest_Instance_8"/>
</Maana:AscXRef>
<Maana:System rdf:about="&Maana;RDFTest_Instance_2"
?? Maana:Name="uppercase"
?? rdfs:label="uppercase"/>
<Maana:ASCII rdf:about="&Maana;RDFTest_Instance_8"
?? Maana:Name="a"
?? Maana:value="97"
?? rdfs:label="a:97">
?? <Maana:system rdf:resource="&Maana;RDFTest_Instance_1"/>
</Maana:ASCII>
</rdf:RDF>
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE rdf:RDF [
?? <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
?? <!ENTITY system 'http://protege.stanford.edu/system#'>
?? <!ENTITY Maana 'http://www.vvasam.com/Maana#'>
?? <!ENTITY rdfs 'http://www.w3.org/TR/1999/PR-rdf-schema-19990303#'>
]>
<rdf:RDF xmlns:rdf="&rdf;"
?? xmlns:system="&system;"
?? xmlns:rdfs="&rdfs;"
?? xmlns:Maana="&Maana;">
<rdf:Property rdf:about="&system;maxCardinality"
?? rdfs:label="system:maxCardinality"/>
<rdf:Property rdf:about="&system;minCardinality"
?? rdfs:label="system:minCardinality"/>
<rdf:Property rdf:about="&system;range"
?? rdfs:label="system:range"/>
<rdfs:Class rdf:about="&Maana;ASCII"
?? rdfs:label="ASCII">
?? <rdfs:subClassOf rdf:resource="&rdfs;Resource"/>
</rdfs:Class>
<rdfs:Class rdf:about="&Maana;AscXRef"
?? rdfs:label="AscXRef">
?? <rdfs:subClassOf rdf:resource="&rdfs;Resource"/>
</rdfs:Class>
<rdf:Property rdf:about="&Maana;Name"
?? rdfs:label="Name">
?? <rdfs:domain rdf:resource="&Maana;ASCII"/>
?? <rdfs:domain rdf:resource="&Maana;System"/>
?? <rdfs:range rdf:resource="&rdfs;Literal"/>
</rdf:Property>
<rdf:Property rdf:about="&Maana;RDFTest_Slot_10003"
?? rdfs:label="RDFTest_Slot_10003">
?? <rdfs:range rdf:resource="&rdfs;Literal"/>
</rdf:Property>
<rdfs:Class rdf:about="&Maana;System"
?? rdfs:label="System">
?? <rdfs:subClassOf rdf:resource="&rdfs;Resource"/>
</rdfs:Class>
<rdf:Property rdf:about="&Maana;keyName"
?? rdfs:label="keyName">
?? <rdfs:range rdf:resource="&Maana;ASCII"/>
?? <rdfs:domain rdf:resource="&Maana;AscXRef"/>
</rdf:Property>
<rdf:Property rdf:about="&Maana;keyValue"
?? rdfs:label="keyValue">
?? <rdfs:range rdf:resource="&Maana;ASCII"/>
?? <rdfs:domain rdf:resource="&Maana;AscXRef"/>
</rdf:Property>
<rdf:Property rdf:about="&Maana;system"
?? rdfs:label="system">
?? <rdfs:domain rdf:resource="&Maana;ASCII"/>
?? <rdfs:range rdf:resource="&Maana;System"/>
</rdf:Property>
<rdf:Property rdf:about="&Maana;value"
?? rdfs:label="value">
?? <rdfs:domain rdf:resource="&Maana;ASCII"/>
?? <rdfs:range rdf:resource="&rdfs;Literal"/>
</rdf:Property>
</rdf:RDF>
C:\RDF\SemanticRDFUtils
Usage: SemanticRDFUtils taskid
?? Where taskid should be any one of the following:
????1 --> To create and initialize the Jena system tables with a system model name as JenaRDFSystem
????2 --> To create a database model
????3 --> To remove a database model.
????4 --> To list the contents of a given model.
????5 --> To import RDF/XML file to a database.
????6 --> To list existing database model names
????7 --> To export a database model to a RDF/XML file
????8 --> To delete all the contents of a database model
????9 --> To create a union(RDF/XML file) of RDF/XML file models
????10 --> To create an intersection(RDF/XML file) of RDF/XML file models
????11 --> To create a difference(RDF/XML file) of RDF/XML file models
????12 --> To get the size of the given model
????13 --> Export the RDF query results as RDF/XML file.
????14 --> Delete the resource(s) from a model based on RDF query
file_rdfmodel1_abs_name=C:/temp/RDFTest1.rdf
file_rdfmodel2_abs_name=C:/temp/RDFTest2.rdf
result_rdfmodel_abs_name=C:/temp/RDFTestUnion.rdf
file_rdfmodel1_abs_name=C:/temp/RDFTest1.rdf
file_rdfmodel2_abs_name=C:/temp/RDFTest2.rdf
result_rdfmodel_abs_name=C:/temp/RDFTestInterSection.rdf
file_rdfmodel1_abs_name=C:/temp/RDFTest1.rdf
file_rdfmodel2_abs_name=C:/temp/RDFTest2.rdf
result_rdfmodel_abs_name=C:/temp/ RDFTestDifference.rdf
rdf_query=SELECT ?x WHERE (?x????"65")
bind_var_name=x
export_rdffile_abs_name=C:/temp/exportquery.rdf
rdf_query=SELECT ?x WHERE (?x????"65")
bind_var_name=x
進公司已經5個月了,這五個月過的還真是不輕松。
在以前的公司,就算剛進去的時候什么都不會,2個月下來也會變成一個熟手,任務分配下來剩下的問題只是時間問題
但是現在,經常會覺得無從下手,經常會覺得很無助,經常會覺得自卑:怎么自己什么都不會呢?為什么自己的知識面那么窄呢?怎么看了那么多資料什么都記不住呢?
于是,就會想到放棄,就會很想休息。
然后再網上四處閑逛,然后發現沒有什么值得去的網站。于是反思自己的工作,于是告訴自己:加油!不會就學習吧。
于是開始放下急功近利的心,于是放下帶著目標的眼鏡,拿出最原始的、最基本的文檔,仔細地研讀。現在,我是學生,我在學習,我不是工人。
package com.bjinfotech.practice.annotation.runtimeframework;
import java.lang.annotation.*;
/**
* 用于修飾類的固有類型成員變量的annotation
* @author cleverpig
*
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface Persistent {
????????String value() default "";
}
package com.bjinfotech.practice.annotation.runtimeframework;
import java.lang.annotation.*;
/**
* 用于修飾類的類型的annotation
* @author cleverpig
*
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface Exportable {
????????//名稱
????????String name() default "";
????????//描述
????????String description() default "";
????????//省略name和description后,用來保存name值
????????String value() default "";
????????
}
package com.bjinfotech.practice.annotation.runtimeframework;
/**
* 用于測試的地址類
* @author cleverpig
*
*/
@Exportable("address")
public class AddressForTest {
????????//國家
????????@Persistent
????????private String country=null;
????????
????????//省級
????????@Persistent
????????private String province=null;
????????
????????//城市
????????@Persistent
????????private String city=null;
????????
????????//街道
????????@Persistent
????????private String street=null;
????????//門牌
????????@Persistent
????????private String doorplate=null;
????????
????????public AddressForTest(String country,String province,
????????????????????????String city,String street,String doorplate){
????????????????this.country=country;
????????????????this.province=province;
????????????????this.city=city;
????????????????this.street=street;
????????????????this.doorplate=doorplate;
????????}
????????
}
package com.bjinfotech.practice.annotation.runtimeframework;
import java.util.*;
/**
* 友人通訊錄
* 包含:姓名、年齡、電話、住址(多個)、備注
* @author cleverpig
*
*/
@Exportable(name="addresslist",description="address list")
public class AddressListForTest {
????????//友人姓名
????????@Persistent
????????private String friendName=null;
????????
????????//友人年齡
????????@Persistent
????????private int age=0;
????????
????????//友人電話
????????@Persistent
????????private ArrayList<String> telephone=null;
????????
????????//友人住址:家庭、單位
????????@Persistent
????????private ArrayList<AddressForTest> AddressForText=null;
????????
????????//備注
????????@Persistent
????????private String note=null;
????????
????????public AddressListForTest(String name,int age,
????????????????????????ArrayList<String> telephoneList,
????????????????????????ArrayList<AddressForTest> addressList,
????????????????????????String note){
????????????????this.friendName=name;
????????????????this.age=age;
????????????????this.telephone=new ArrayList<String>(telephoneList);
????????????????this.AddressForText=new ArrayList<AddressForTest>(addressList);
????????????????this.note=note;
????????????????
????????}
}
package com.bjinfotech.practice.annotation.runtimeframework;
import java.lang.reflect.Field;
import java.util.Collection;
import java.util.Iterator;
import java.util.Map;
import java.util.ArrayList;
/**
* 將具有Exportable Annotation的對象轉換為xml格式文本
* @author cleverpig
*
*/
public class ExportToXml {
????????/**
???????? * 返回對象的成員變量的值(字符串類型)
???????? * @param field 對象的成員變量
???????? * @param fieldTypeClass 對象的類型
???????? * @param obj 對象
???????? * @return 對象的成員變量的值(字符串類型)
???????? */
????????private String getFieldValue(Field field,Class fieldTypeClass,Object obj){
????????????????String value=null;
????????????????
????????????????try{
????????????????????????if (fieldTypeClass==String.class){
????????????????????????????????value=(String)field.get(obj);
????????????????????????}
????????????????????????else if (fieldTypeClass==int.class){
????????????????????????????????value=Integer.toString(field.getInt(obj));
????????????????????????}
????????????????????????else if (fieldTypeClass==long.class){
????????????????????????????????value=Long.toString(field.getLong(obj));
????????????????????????}
????????????????????????else if (fieldTypeClass==short.class){
????????????????????????????????value=Short.toString(field.getShort(obj));
????????????????????????}
????????????????????????else if (fieldTypeClass==float.class){
????????????????????????????????value=Float.toString(field.getFloat(obj));
????????????????????????}
????????????????????????else if (fieldTypeClass==double.class){
????????????????????????????????value=Double.toString(field.getDouble(obj));
????????????????????????}
????????????????????????else if (fieldTypeClass==byte.class){
????????????????????????????????value=Byte.toString(field.getByte(obj));
????????????????????????}
????????????????????????else if (fieldTypeClass==char.class){
????????????????????????????????value=Character.toString(field.getChar(obj));
????????????????????????}
????????????????????????else if (fieldTypeClass==boolean.class){
????????????????????????????????value=Boolean.toString(field.getBoolean(obj));
????????????????????????}
????????????????}
????????????????catch(Exception ex){
????????????????????????ex.printStackTrace();
????????????????????????value=null;
????????????????}
????????????????return value;
????????}
????????
????????/**
???????? * 輸出對象的字段,當對象的字段為Collection或者Map類型時,要調用exportObject方法繼續處理
???????? * @param obj 被處理的對象
???????? * @throws Exception
???????? */
????????public void exportFields(Object obj) throws Exception{
????????????????Exportable exportable=obj.getClass().getAnnotation(Exportable.class);????????
????????????????if (exportable!=null){
????????????????????????if (exportable.value().length()>0){
//????????????????????????????????System.out.println("Class annotation Name:"+exportable.value());
????????????????????????}
????????????????????????else{
//????????????????????????????????System.out.println("Class annotation Name:"+exportable.name());
????????????????????????}
????????????????}
????????????????else{
//????????????????????????System.out.println(obj.getClass()+"類不是使用Exportable標注過的");
????????????????}
????????????????
????????????????//取出對象的成員變量
????????????????Field[] fields=obj.getClass().getDeclaredFields();
????????????????
????????????????for(Field field:fields){
????????????????????????//獲得成員變量的標注
????????????????????????Persistent fieldAnnotation=field.getAnnotation(Persistent.class);
????????????????????????if (fieldAnnotation==null){
????????????????????????????????continue;
????????????????????????}
????????????????????????//重要:避免java虛擬機檢查對私有成員的訪問權限
????????????????????????field.setAccessible(true);
????????????????????????Class typeClass=field.getType();
????????????????????????String name=field.getName();
????????????????????????String value=getFieldValue(field,typeClass,obj);
????????????????????????
????????????????????????//如果獲得成員變量的值,則輸出
????????????????????????if (value!=null){
????????????????????????????????System.out.println(getIndent()+"<"+name+">\n"
????????????????????????????????????????????????+getIndent()+"\t"+value+"\n"+getIndent()+"</"+name+">");
????????????????????????}
????????????????????????//處理成員變量中類型為Collection或Map
????????????????????????else if ((field.get(obj) instanceof Collection)||
????????????????????????????????????????(field.get(obj) instanceof Map)){
????????????????????????????????exportObject(field.get(obj));
????????????????????????}
????????????????????????else{
????????????????????????????????exportObject(field.get(obj));
????????????????????????}
????????????????????????
????????????????}
????????}
????????
????????//縮進深度
????????int levelDepth=0;
????????//防止循環引用的檢查者,循環引用現象如:a包含b,而b又包含a
????????Collection<Object> cyclicChecker=new ArrayList<Object>();
????????
????????/**
???????? * 返回縮進字符串
???????? * @return
???????? */
????????private String getIndent(){
????????????????String s="";
????????????????for(int i=0;i<levelDepth;i++){
????????????????????????s+="\t";
????????????????}
????????????????return s;
????????}
????????/**
???????? * 輸出對象,如果對象類型為Collection和Map類型,則需要遞歸調用exportObject進行處理
???????? * @param obj
???????? * @throws Exception
???????? */
????????public void exportObject(Object obj) throws Exception{
????????????????Exportable exportable=null;
????????????????String elementName=null;
????????????????
????????????????//循環引用現象處理
????????????????if (cyclicChecker.contains(obj)){
????????????????????????return;
????????????????}
????????????????
????????????????cyclicChecker.add(obj);
????????????????
????????????????//首先處理Collection和Map類型
????????????????if (obj instanceof Collection){
????????????????????????for(Iterator i=((Collection)obj).iterator();i.hasNext();){
????????????????????????????????exportObject(i.next());
????????????????????????}
????????????????}
????????????????else if (obj instanceof Map){
????????????????????????for(Iterator i=((Map)obj).keySet().iterator();i.hasNext();){
????????????????????????????????exportObject(i.next());
????????????????????????}
????????????????}
????????????????else{
????????????????????????exportable=obj.getClass().getAnnotation(Exportable.class);
????????????????????????//如果obj已經被Exportable Annotation修飾過了(注意annotation是具有繼承性的),
????????????????????????//則使用其name作為輸出xml的元素name
????????????????????????if (exportable!=null){
????????????????????????????????if (exportable.value().length()>0){
????????????????????????????????????????elementName=exportable.value();
????????????????????????????????}
????????????????????????????????else{
????????????????????????????????????????elementName=exportable.name();
????????????????????????????????}
????????????????????????}
????????????????????????//未被修飾或者Exportable Annotation的值為空字符串,
????????????????????????//則使用類名作為輸出xml的元素name
????????????????????????if (exportable==null||elementName.length()==0){
????????????????????????????????elementName=obj.getClass().getSimpleName();
????????????????????????}
????????????????????????//輸出xml元素頭
????????????????????????System.out.println(getIndent()+"<"+elementName+">");
????????????????????????levelDepth++;
????????????????????????//如果沒有被修飾,則直接輸出其toString()作為元素值
????????????????????????if (exportable==null){
????????????????????????????????System.out.println(getIndent()+obj.toString());
????????????????????????}
????????????????????????//否則將對象的成員變量導出為xml
????????????????????????else{
????????????????????????????????exportFields(obj);
????????????????????????}
????????????????????????levelDepth--;
????????????????????????//輸出xml元素結尾
????????????????????????System.out.println(getIndent()+"</"+elementName+">");
????????????????????????
????????????????}
????????????????cyclicChecker.remove(obj);
????????}
????????
????????public static void main(String[] argv){
????????????????try{
????????????????????????AddressForTest ad=new AddressForTest("China","Beijing",
????????????????????????????????????????"Beijing","winnerStreet","10");
????????????????????????
????????????????????????ExportToXml test=new ExportToXml();
????????????????????????
????????????????????????ArrayList<String> telephoneList=new ArrayList<String>();
????????????????????????telephoneList.add("66608888");
????????????????????????telephoneList.add("66608889");
????????????????????????
????????????????????????ArrayList<AddressForTest> adList=new ArrayList<AddressForTest>();
????????????????????????adList.add(ad);
????????????????????????
????????????????????????AddressListForTest adl=new AddressListForTest("coolBoy",
????????????????????????????????????????18,telephoneList,adList,"some words");
????????????????????????
????????????????????????test.exportObject(adl);
????????????????}
????????????????catch(Exception ex){
????????????????????????ex.printStackTrace();
????????????????}
????????}
}
<addresslist>
????????<friendName>
????????????????coolBoy
????????</friendName>
????????<age>
????????????????18
????????</age>
????????<String>
????????????????66608888
????????</String>
????????<String>
????????????????66608889
????????</String>
????????<address>
????????????????<country>
????????????????????????China
????????????????</country>
????????????????<province>
????????????????????????Beijing
????????????????</province>
????????????????<city>
????????????????????????Beijing
????????????????</city>
????????????????<street>
????????????????????????winnerStreet
????????????????</street>
????????????????<doorplate>
????????????????????????10
????????????????</doorplate>
????????</address>
????????<note>
????????????????some words
????????</note>
</addresslist>
package com.bjinfotech.practice.annotation.apt;
/**
* 定義Review Annotation
* @author cleverpig
*
*/
public @interface Review {
????????public static enum TypeEnum{EXCELLENT,NICE,NORMAL,BAD};
????????TypeEnum type();
????????String name() default "Review";
}
package com.bjinfotech.practice.annotation.apt;
import java.util.Collection;
import java.util.Set;
import java.util.Arrays;
import com.sun.mirror.apt.*;
import com.sun.mirror.declaration.AnnotationTypeDeclaration;
import com.sun.mirror.apt.AnnotationProcessorEnvironment;
//請注意為了方便,使用了靜態import
import static java.util.Collections.unmodifiableCollection;
import static java.util.Collections.emptySet;
/**
* 生成ReviewProcessor的工廠類
* @author cleverpig
*
*/
public class ReviewProcessorFactory implements AnnotationProcessorFactory{
????????/**
???????? * 獲得針對某個(些)類型聲明定義的Processor
???????? * @param atds 類型聲明集合
???????? * @param env processor環境
???????? */
????????public AnnotationProcessor getProcessorFor(
????????????????????????Set<AnnotationTypeDeclaration> atds,
????????????????????????AnnotationProcessorEnvironment env){
????????????????return new ReviewProcessor(env);
????????}
????????/**
???????? * 定義processor所支持的annotation類型
???????? * @return processor所支持的annotation類型的集合
???????? */
????????public Collection<String> ????????supportedAnnotationTypes(){
????????????????//“*”表示支持所有的annotation類型
????????????????//當然也可以修改為“foo.bar.*”、“foo.bar.Baz”,來對所支持的類型進行修飾
????????????return unmodifiableCollection(Arrays.asList("*"));
????}
????????
????????/**
???????? * 定義processor支持的選項
???????? * @return processor支持選項的集合
???????? */
????????public Collection<String> ????????supportedOptions(){
????????????????//返回空集合
????????????return emptySet();
????}
????????
????????public static void main(String[] argv){
????????????????System.out.println("ok");
????????}
}
package com.bjinfotech.practice.annotation.apt;
import com.sun.mirror.apt.AnnotationProcessor;
import com.sun.mirror.apt.AnnotationProcessorEnvironment;
import com.sun.mirror.declaration.TypeDeclaration;
import com.sun.mirror.util.DeclarationVisitors;
import com.sun.mirror.util.DeclarationVisitor;
/**
* 定義Review annotation的Processor
* @author cleverpig
*
*/
public class ReviewProcessor implements AnnotationProcessor{
????????//Processor所工作的環境
????????AnnotationProcessorEnvironment env=null;
????????
????????/**
???????? * 構造方法
???????? * @param env 傳入processor環境
???????? */
????????public ReviewProcessor(AnnotationProcessorEnvironment env){
????????????????this.env=env;
????????}
????????
????????/**
???????? * 處理方法:查詢processor環境中的類型聲明,
???????? */
????????public void process(){
????????????????//查詢processor環境中的類型聲明
????????????????for(TypeDeclaration type:env.getSpecifiedTypeDeclarations()){
????????????????????????//返回對類進行掃描、訪問其聲明時使用的DeclarationVisitor,
????????????????????????//傳入參數:new ReviewDeclarationVisitor(),為掃描開始前進行的對類聲明的處理
????????????????????????//????????DeclarationVisitors.NO_OP,表示在掃描完成時進行的對類聲明不做任何處理
????????????????????????DeclarationVisitor visitor=DeclarationVisitors.getDeclarationScanner(
????????????????????????????????????????new ReviewDeclarationVisitor(),DeclarationVisitors.NO_OP);
????????????????????????//應用DeclarationVisitor到類型
????????????????????????type.accept(visitor);
????????????????}
????????}
}
package com.bjinfotech.practice.annotation.apt;
import com.sun.mirror.util.*;
import com.sun.mirror.declaration.*;
/**
* 定義Review annotation聲明訪問者
* @author cleverpig
*
*/
public class ReviewDeclarationVisitor extends SimpleDeclarationVisitor{
????????/**
???????? * 定義訪問類聲明的方法:打印類聲明的全名
???????? * @param cd 類聲明對象
???????? */
????????public void visitClassDeclaration(ClassDeclaration cd){
????????????????System.out.println("獲取Class聲明:"+cd.getQualifiedName());
????????}
????????
????????public void visitAnnotationTypeDeclaration(AnnotationTypeDeclaration atd){
????????????????System.out.println("獲取Annotation類型聲明:"+atd.getSimpleName());
????????}
????????
????????public void visitAnnotationTypeElementDeclaration(AnnotationTypeElementDeclaration aed){
????????????????System.out.println("獲取Annotation類型元素聲明:"+aed.getSimpleName());
????????}
}
E:
rem 項目根目錄
set PROJECT_ROOT=E:\eclipse3.1RC3\workspace\tigerFeaturePractice
rem 包目錄路徑
set PACKAGEPATH=com\bjinfotech\practice\annotation\apt
rem 運行根路徑
set RUN_ROOT=%PROJECT_ROOT%\build
rem 源文件所在目錄路徑
set SRC_ROOT=%PROJECT_ROOT%\test
rem 設置Classpath
set CLASSPATH=.;%JAVA_HOME%;%JAVA_HOME%/lib/tools.jar;%RUN_ROOT%
cd %SRC_ROOT%\%PACKAGEPATH%
apt -nocompile -factory com.bjinfotech.practice.annotation.apt.ReviewProcessorFactory??./*.java