在我们的企业应用程序,我们正在寻求一种动态的方式来收集我们的Java类的数据。 我们创建了一个自定义的注释界面( @interface
)与name
属性。 我们想从所有注释类收集这些属性的值。
我设法创建一个AnnotationProcessorFactory
和AnnotationProcessor
自定义注释。 由于我们使用Maven 2,我增加了以下内容的插件pom.xml
主体工程。
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>apt-maven-plugin</artifactId>
<version>1.0-alpha-5</version>
<configuration>
<factory>our.company.api.component.lister.ComponentAnnotationProcessFactory</factory>
</configuration>
</plugin>
此驻留在其中有若干个子项目的主项目。 工厂和定制处理器在这些子项目之一。 自定义注释分散在所有的子项目,这就是为什么我把插件在pom.xml
的主要项目。
问题是,当我发出mvn apt:process
命令我得到了一个关于注释警告不处理器和我们的自定义注解是其中之一。 我认为这意味着该插件无法找到工厂类。
我应该怎么做这样的插件可以找到厂家和处理器的文件?
编辑:
该项目的层次结构是非常简单的:
main_project
|-sub_project1
|...
|-sub_projectn
该插件是在pom.xml
的的main_project
。 只是假设,工厂和处理器是sub_project1
和自定义的注解是在sub_project2
, sub_project3
,..., sub_projectn