Intellij中的checkstyle - 设置相对于模块的路径

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 是指 common 项目(module 在 IntelliJ 中)的绝对路径。

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

我们希望在 IntelliJ 中定义一个路径,以便它可以在每个MODULE/config/checkstyle 目录中查找抑制过滤器(每个模块都有不同的抑制过滤器)。

是否有人知道这是否可能?我们已经尝试寻找解决方案很长时间了,但迄今为止没有运气。


您指的是$MODULE_DIR$变量吗? - Edwin
我尝试使用$MODULE_DIR$进行配置,但似乎没有起作用。 - sebastian89n
1个回答

1
在某些方面,Eclipse中的Checkstyle集成比IntelliJ更加强大。我认为这是一个例子。
我建议更改Checkstyle设置,以便您只有一个Checkstyle配置和一个所有模块的中央抑制文件。正如您将看到的那样,在IntelliJ中,模块之间的关系比在Eclipse中的项目更紧密,因此这实际上是一个好主意。
为了保留特定于模块的配置和/或抑制,您必须执行以下操作:
1. 在中央Checkstyle设置中定义所有特定于模块的配置(因此您的列表中有module1-rules、module2-rules等)。 2. 在每个模块中,从下拉框中选择适当的配置。
虽然这是相当多的工作,但我认为您会发现集中配置更加方便。(顺便说一下,这里是支持的变量,恐怕没有任何一个可以帮助您。)

谢谢你的回答,Thomas!你能告诉我(或者给我一个资源链接),如何在一个checkstyle设置文件中定义特定于模块的配置吗? - sebastian89n

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接