2016-12-10 60 views
0

第一個maven項目包含帶註釋類的源代碼。在不編譯的情況下從java文件處理註釋

第二個maven項目包含註釋處理器(javax.annotation.processing.AbstractProcessor)。

我想第二個項目,在編譯時,處理第一個項目的來源(註釋),並做一些事情。

我應該如何處理它?

我猜註解處理器不是正確的選擇,因爲它需要有界的編譯器...

另一種選擇是將掃描的第一個項目的所有java文件,加載它們(帶的Class.forName )並處理註釋。

你能推薦別的嗎?

+0

不知道它怎麼會在我的情況,我在那裏用標註處理 – Tirmean

回答

0

您可以提供-proc:only命令行參數以避免編譯 - 不會輸出.class文件。

javac documentation說:

-proc:沒有,只有]

控制是否註釋處理和彙編完成。 -proc:none意味着編譯不需要註釋處理。 -proc:only表示只進行註釋處理, ,不進行任何後續編譯。

+0

首先,它的行家幫助(但是我能提供此項參數到Maven編譯器插件),但問題是,我需要從源工作其他項目。我不想重新編譯這些來源。 – Tirmean

+0

'proc:none'不會編譯 - 它不會創建'.class'文件。如果你的意思是「彙編」,那麼它可能會幫助其他人澄清這個問題。謝謝! – mernst

+0

第二個maven項目有我想要編譯的java文件,而且我想在第一個maven項目中根據帶註釋的java文件生成源文件,那些生成的源文件也應該在第二個項目中編譯。 – Tirmean

相關問題