2011-07-16 45 views

回答

1

Processor interface說,這個發現過程:

該工具使用發現過程找到註釋處理器並 決定他們是否應該運行。通過配置該工具,可以控制潛在處理器組。例如,對於 JavaCompiler,要運行的候選處理器的列表可以是set directly或由用於 service-style lookupsearch path控制。其他工具實現可能具有不同的配置機制,例如命令行選項;有關 的詳細信息,請參閱特定工具的文檔。

在類路徑中定義處理器的最佳方法是提供一個META-INF/services/javax.annotation.processing.Processor文件,其中包含文本defaultproject.annotations.DefaultProcessor

(假設你的工具鏈支持這一機制這是最終的編譯器/工具/ IDE依賴的。)

+0

很抱歉 我曾嘗試,就像這樣: ArrayList processors processors.add(new MyDefaultProcessor()); JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); StandardJavaFileManager fileManager = compiler.getStandardFileManager(null, null, null); CompilationTask compilationTask = compiler.getTask(null, fileManager, null, null, null, null); compilationTask.setProcessors(processors); compilationTask.call(); 但我不知道如何替換當前通過'null'的參數。 非常感謝 – Moein

+0

@ user847577 - David Biesack在動態編譯中查看[developerWorks developerWorks文章](http://www.ibm.com/developerworks/java/library/j-jcomp/index.html)。如果您仍然無法調用API,那應該是一個新問題。 – McDowell

+0

謝謝,我會讀它 – Moein

相關問題