Я пишу Java-процессор аннотаций для сбора метаданных из аннотаций в теле кода. Я хочу, чтобы выходной файл начинался с версии проекта maven. Глядя на документацию javac для Oracle java 8 , выясняется, что я смогу передать версию проекта в качестве опции процессору аннотаций с использованием нотации -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, как объявлено. Я, должно быть, что-то упускаю, но я не могу понять, что это такое, и не могу найти упоминания об этой проблеме. Любая помощь высоко ценится.
Обновление: ошибка исчезнет, если я уберу пробел, сделав аргумент
-Acore.versionId=${project.version}
,
но в этом случае опция core.versionId не отображается в процессоре аннотаций.