javac 命令行 `-Akey[=value]` 参数不通过 javac 插件覆盖,仅通过注释处理器覆盖。如何最好地解决这个问题?

问题描述 投票:0回答:1

尽管 javac 文档声明

-Akey[=value]
命令行参数是为注释处理器设计的,但它也适用于 javac 插件;似乎没有插件专用的单独命令行参数。

但是,问题是,如果注释处理器未确认

-Akey
,javac 会在内部发出警告。当然,插件仍然可以处理参数,但警告让开发人员感到困惑。

我想报告一个错误/请求,也许允许插件确认

-Akey
命令行选项。但openjdk.org实际上是一个相当封闭的系统,我只是一个没有报告错误所需的“项目作者”权限的家伙。还有其他方式提交问题吗?

诚然,插件是 javac 的阴暗角落之一,但我很好奇是否有其他人遇到过这个问题以及他们如何解决这个问题。我目前正在通过编译器内部抑制错误,这当然不是一个理想的方法。

java annotation-processing
1个回答
0
投票

回答我自己的问题。我忘记了可以通过 init 方法传递给插件的参数。我已经从构建注释处理器转向构建插件,但出于几个原因选择坚持使用

-A
风格的参数传递。

  1. 对于现有用途来说,这是一个更容易的过渡
  2. 我更喜欢向 javac 命令行添加参数,而不是我的插件有单独的参数

如果有某种方法可以实现这一点,我仍然想提交请求以允许插件确认

-Akey
参数。

© www.soinside.com 2019 - 2024. All rights reserved.