2016-12-10 58 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

相关问题