3

我的公司正在从 Eclipse 切换到 IntelliJ。在 Eclipse 中,我们对抑制过滤器进行了以下配置checkstyle.xml

<module name="SuppressionFilter">
    <property name="file" value="${checkstyle.config.dir}/suppressions.xml"/>
</module>
<module name="SuppressionFilter">
    <property name="file" value="${common.checkstyle.config.dir}/global-suppressions.xml"/>
</module>

在哪里:

  • common.checkstyle.config.dir是公共项目(IntelliJ 中的模块)的绝对路径。

  • checkstyle.config.dir是项目(模块)的相对路径,值为checkstyle.config.dir=${root.dir}/config/checkstyle

我们想在 IntelliJ 中为这个文件定义一个路径,所以它会在每个MODULE/config/checkstyle目录中查找抑制过滤器(每个模块都有不同的抑制)。

有谁知道这是否可能?我们已经尝试找到解决方案很长一段时间了,但到目前为止还没有运气。

4

2 回答 2

1

Eclipse 中的 Checkstyle 集成在某些方面比 IntelliJ 中的更强大。这是一个这样的案例,我相信。

我建议更改 Checkstyle 设置,以便您只有一个 Checkstyle 配置和所有模块的中央抑制文件。正如您将看到的,IntelliJ 中的模块比 Eclipse 中的项目更紧密相关,所以这实际上是一个好主意。

为了保持特定于模块的配置和/或抑制,您必须执行以下操作:

  1. 在中央 Checkstyle 设置中定义所有特定于模块的配置(因此您的列表中有 module1-rules、module2-rules 等)。
  2. 在每个模块中,从下拉框中选择适当的配置。

虽然这是一项相当多的工作,所以我认为您会发现集中配置更方便。(顺便说一下,这里是支持的变量,恐怕没有一个对你有帮助。)

于 2017-07-07T12:41:19.417 回答
1

感谢 Thomas Jensen 的回答,我解决了同样的问题。我在这个问题中详细回答了。希望能帮助到你。

于 2017-07-20T15:28:48.217 回答