我正在尝试将 import-control 添加到我们的 checkstyle 中,即 import-control 文件存在于制作 checstyle.xml 文件的项目中,而不是我们稍后构建的项目中。
我们有一个特定的 gradle 项目,我们在其中定义了所有规则,并且在这个项目中我们的 import-control.xml。我的问题是,当我尝试在另一个使用此检查样式的项目上运行 mvn clean install 时,它会尝试在该项目中找到 import-control.xml 。
我在 checkstyle.xml 中做了以下配置:
<module name="ImportControl">
<property name="file" value="import-control.xml"/>
</module>
并且 import-control.xml 放在 checkstyle.xml 旁边。
谁能告诉我我需要做什么,以便我可以告诉 maven 这个文件存在于我们的 checkstyle 项目中,而不是正在构建的根项目中?
我得到的错误是: 无法初始化模块 TreeWalker - 无法初始化模块 ImportControl - 属性“文件”的非法值“import-control.xml” 无法找到:import-control.xml
在 2.17 版中
无法加载 import-control.xml:找不到文件:/C://import-control.xml:\import-control.xml
我尝试过的: 将 checkstyle 版本升级到 3.1.0(我们曾经有 2.17) 使用 import-control.xml 但没有用。试图阅读文档和代码,但没有帮助。
谢谢你的帮助
稍后给你写信/Mårten
mvn配置:
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<id>do checkstyle</id>
<phase>process-sources</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
<configuration>
<includes>projectA/**/*</includes>
<configLocation>checkstyle.xml</configLocation>
<consoleOutput>true</consoleOutput>
<failOnViolation>false</failOnViolation>
<failsOnError>true</failsOnError>
<includeTestSourceDirectory>true</includeTestSourceDirectory>
</configuration>
<dependencies>
<dependency>
<groupId>company.checkstyle</groupId>
<artifactId>company-checkstyle</artifactId>
<version>0.2-SNAPSHOT</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</pluginManagement>```