我的公司正在从 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 中为这个文件定义一个路径,所以它会在每个模块/配置/checkstyle目录中查找抑制过滤器(每个模块都有不同的抑制(。
有谁知道这是否可能?我们试图找到解决方案已经有一段时间了,但到目前为止还没有运气。
Eclipse 中的 Checkstyle 集成在某些方面比 IntelliJ 中的集成更强大。我相信这是这样一个例子。
我建议更改 Checkstyle 设置,以便您只有一个 Checkstyle 配置和一个所有模块的中央抑制文件。正如你将看到的,模块在 IntelliJ 中的关联比在 Eclipse 中的项目更紧密,所以这实际上是一个好主意。
为了保持特定于模块的配置和/或抑制,您必须执行以下操作:
- 在中央 Checkstyle 设置中定义所有特定于模块的配置(因此列表中有模块 1 规则、模块 2 规则等(。
- 在每个模块中,从下拉框中选择适当的配置。
不过,这是相当多的工作,所以我认为您会发现集中配置更方便。(顺便说一下,这是支持的变量,恐怕没有一个对您有所帮助。