如何使用checkstyle:签入多模块项目

时间:2015-09-14 15:01:48

标签: maven checkstyle

我正在尝试在多模块项目中使用Maven Checkstyle插件。 <sourceDirectories>(开始查找代码的插件)的默认设置为${project.compileSourceRoots}。在我的情况下,这会解析为[C:\workspace\projectname\src\main\java],即List<String>

现在,这个默认路径对我没用,因为我的代码位于不同的地方,如:[C:\workspaces\projectname\module1\src\main\java]。因此,我需要将<sourceDirectories>更改为我的代码实际所在的目录列表。

到目前为止,非常好......

问题在于<sourceDirectories>需要List<String>。我尝试了以下方法:

<sourceDirectories>
    <sourceDirectory>pathToCode1</sourceDirectory>
    <sourceDirectory>pathToCode2</sourceDirectory>
</sourceDirectories>

......但那没用。它将采用默认路径。 (此外,<sourceDirectory>已被弃用!)

只有一个 <sourceDirectory>(没有周围的<sourceDirectories>)确实有效,但<sourceDirectory>只需要一条路径而且您不能拥有多条路径<sourceDirectory>。所以,没有雪茄。另请注意,{@ 1}}已被弃用。

我还尝试过提供<sourceDirectory>List<String>的各种其他方法,但唉,没有进展。以下是一些例子:

<sourceDirectories>

是否有另一种方式(直接,没有“子标签”)向maven提供<sourceDirectories>[pathToCode]</sourceDirectories> <sourceDirectories>pathToCode</sourceDirectories> <sourceDirectories>{pathToCode}</sourceDirectories> <sourceDirectories>{[pathToCode]}</sourceDirectories> <sourceDirectories>{{pathToCode}}</sourceDirectories> <sourceDirectories>{{{pathToCode}}}</sourceDirectories>

插件坏了吗?

我错过了什么吗?

编辑

我的项目结构:

List<String>

我的父母pom

MyProject
|-- pom.xml <-- plugin runs fine here
|-- domain-module
|   |-- src
|   |   `-- main
|   |       `-- com/example/hello...
|   |           |-- TheCode.java
|   |       `-- resources
|   |           |-- checkstyle.xml
|   |           `-- LICENSE.TXT
|   `-- pom.xml
|-- poms
|   |-- parent
|   |   `-- pom.xml <-- this is my parent pom

1 个答案:

答案 0 :(得分:0)

从版本2.13开始,sourceDirectories的使用被破坏(https://issues.apache.org/jira/browse/MCHECKSTYLE-260)。

2.12可行。安德烈亚斯丹格尔在吉拉提到:

  

此处描述的配置   Checkstyle - Exclude folder   仍然有效。然后排除发生在checkstyle中,而不是在   行家-CheckStyle的的插件。