Intellij checkstyle - 相对于模块

时间:2017-07-06 09:14:12

标签: intellij-idea path relative checkstyle suppression

我的公司正在从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 目录中查找抑制过滤器(每个模块都有不同的抑制)。

有人知道是否有可能吗?我们试图在很长一段时间内找到解决方案,但到目前为止还没有运气。

2 个答案:

答案 0 :(得分:1)

Eclipse中的Checkstyle集成在某些方面比IntelliJ中的更强大。我相信就是这种情况。

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

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

  1. 在中央Checkstyle设置中定义所有特定于模块的配置(因此您的列表中包含module1-rules,module2-rules等)。
  2. 在每个模块中,从下拉框中选择适当的配置。
  3. 这是相当多的工作,所以我认为你会发现集中配置更方便。 (顺便说一句,here是受支持的变量,我担心这些变量都不会对你有所帮助。)

答案 1 :(得分:0)

感谢Thomas Jensen的回答,我解决了同样的问题。我在this question中详细回答。希望它有所帮助。