我试图使maven-checkstyle-plugin对我们所有的项目使用相同的配置文件。
我试过几种方法,但没有一种有效。
唯一可行的方法是将配置文件放在maven项目的根目录下,然后使用名称作为pom.xml中的configLocation配置参数
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.10</version>
<configuration>
<configLocation>my-checkstyle-checker.xml</configLocation>
</configuration>
</plugin>
我试过指定一个绝对的磁盘路径,但是似乎不起作用。(考虑到最终目标是让jenkins做检查样式,如果文件在jenkins服务器上的指定位置,这似乎是一个有效的选项)
我也尝试过创建一个单独的jar文件,只包含xml文件,然后将其作为依赖项使用。(这也将集中配置在一个位置,并防止项目特定的偏差。)不幸的是,这也不起作用。
[错误]无法在项目jenkins-sandbox-project上执行目标组织apache.maven。插件:maven检查样式插件:2.10:检查样式(默认-cli):生成检查样式报告时出错。执行检查样式时失败:无法在位置my-checkstyle-checker.xml处找到配置文件:无法找到资源'sax.html'。-〉[帮助1]
有人能告诉我我做错了什么吗?
它似乎只知道与启动maven命令的位置相同的文件。
- maven检查样式-插件版本:2.10
- maven命令:mvn检查样式:检查样式
4条答案
按热度按时间mftmpeh81#
创建一个单独的Maven项目,它只包含Checkstyle配置,在我的例子中,我将这个项目命名为
checkstyle-config
,它包含以下内容:这个项目的POM文件很简单:
构建它,以便安装它。然后将它用作Checkstyle执行的依赖项,例如:
rjee0c152#
我遇到过类似的问题,我用下面的配置解决了它。
${项目基本目录}/源代码/主资源/检查样式.xml
注意:我的checkstyle文件位于“src/main/resources”中
q7solyqu3#
我在插件配置中定义位置时也遇到了一些问题,但通过覆盖插件使用的一个Maven属性checkstyle.config.location,我能够让它工作起来。请看下面的例子,它适用于多模块的Maven项目,并且需要很少的开销。
slsn1g294#
在我的例子中,依赖关系的顺序是关键,这是我的pom