maven中的注释处理器输出

我正在使用JSR 269作为在编译期间分析代码的方法,并在需要时将其失败。 我在maven中显示我的注释处理器的输出时遇到了麻烦(Ant确实显示了输出)我正在使用javax.annotation.processing.Messager来显示警告和错误,但在maven中我没有看到它的输出。 (我确实知道它运行,因为它生成的代码应该如此)。 有任何想法吗?

我认为你遇到了Maven bug或更好的编译器插件中的错误 – MCOMPILER-66 。 当涉及到注释处理时,编译器插件有几个问题,例如MCOMPILER-62 。 真正最好的选择imo是禁用编译器插件的注释处理并使用maven-processor-plugin 。 在这篇博客文章中,您可以看到如何使用它。 它看起来像这样:

    maven-compiler-plugin  1.6 1.6 -proc:none    org.bsc.maven maven-processor-plugin 1.3.7   process  process  process-sources     org.hibernate hibernate-jpamodelgen 1.1.0.Final compile    

另请注意,注释处理器依赖关系如何仅适用于插件。

您可以通过在maven-compiler-plugin配置中启用showWarnings标志来完成此操作:

    org.apache.maven.plugins maven-compiler-plugin  true     

另请参见https://github.com/Cosium/annotation-processor-logger#enable-all-logging-levels