2011-10-10 94 views
1

想象一下以下內容:在註解處理之前是否可以向類注入額外的註釋?

@MyAnnotation 
public class A { ... }; 

@MyOtherAnnotation 
public class B { ... }; 

如果一個類與@MyAnnotation註解,一個額外的@MyExtraAnnotation應標註處理前加入。所以,在那之後,我們應該有:

@MyExtraAnnotation 
@MyAnnotation 
public class A { ... }; 

@MyOtherAnnotation 
public class B { ... }; 

這可能嗎?如果是的話如何?謝謝。

+0

這取決於您何時處理註釋。如果你是在加載時或運行時處理它們,你可以在編譯時加一些 - 如果所有的事都發生在編譯時,它應該是可能的,但你可能需要關注操作的順序 - 我但我不確定這一點。 – Thomas

+0

我需要在編譯時添加它們,然後才能在編譯時進行註釋處理。 – JVerstry

+1

maven與這個問題的相關性是什麼? – bestsss

回答

1

你應該看看process-sources階段lifecycle的,或者可能是maven compiler pluginannotationProcessors配置。

我還沒有找到「添加註釋」的插件,但肯定應該可以創建一個來做到這一點。

+0

嗯,我已經看過註釋處理器,但我真的不知道我該怎麼做。我可以將類代碼重新生成一個新類並添加一個註釋,但這很重要。如果我只能修改現有的代碼並添加此註釋,那就太棒了。 – JVerstry

+0

如果您覺得處理文本很舒服,那麼過程源可能更容易。還有另一個SO問題涉及[http://stackoverflow.com/questions/187550/preprocessing-source-code-as-a-part-of-a-maven-build]。如果你可以調用一個外部進程,比如perl,並且進行一次替換,它會很容易(如果有點麻煩)。 S/@ MyAnnotation/@ MyExtraAnnotation \ n @ MyAnnotation /克 – ptomli

相關問題