我正在编写一个 java 注释处理器来从代码体中的注释中收集元数据。我希望输出文件以 maven 项目版本开头。查看 Oracle java 8的javac 文档,看来我应该能够使用符号将项目版本作为选项传递给注释处理器-A key=value
。所以我配置了 maven-compiler-plugin 以将core.versionId
选项设置为项目版本,如下所示:
<configuration>
<compilerArgs>
<arg>-A core.versionId=${project.version}</arg>
</compilerArgs>
</configuration>
但是,当我编译时,我收到以下错误:
Fatal error compiling: key in annotation processor option '-A core.versionId=1.7.0-SNAPSHOT' is not a dot-separated sequence of identifiers
似乎 project.version 已正确插入,但编译器未能像宣传的那样处理 -A 选项。我一定遗漏了一些东西,但我看不到它是什么,而且我找不到提到这个问题。非常感谢任何帮助。
更新:如果我删除空间,错误就会消失,使 arg be
-Acore.versionId=${project.version}
,但在这种情况下 core.versionId 选项不会出现在注释处理器中。