2011-10-10 97 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

相关问题