![](/img/trans.png)
[英]How to exclude module-info.java file from maven-processor-plugin?
[英]How to exclude module-info.java from checkstyle plugin checks?
将module-info.java
文件添加到我的项目后,我的checkstyle插件开始失败:
[错误]无法执行目标org.apache.maven.plugins:maven-checkstyle-plugin:2.17:检查(default-cli)项目电子邮件:在checkstyle配置期间失败:在分析文件/ home / xxx /期间发生NoViableAltException IdeaProjects / blynk服务器/服务器/通知/电子邮件/ src目录/主/ JAVA / module-info.java。 意外令牌:模块 - > [帮助1]
我试过了
<module name="BeforeExecutionExclusionFileFilter">
<property name="fileNamePattern" value="module\-info\.java$"/>
</module>
然而,它失败了:
[错误]无法执行目标org.apache.maven.plugins:maven-checkstyle-plugin:2.17:check(default-cli)on project blynk:checkstyle配置失败:无法初始化模块BeforeExecutionExclusionFileFilter - 无法实例化'BeforeExecutionExclusionFileFilter'类,也无法将其实例化为com.puppycrawl.tools.checkstyle.checks.annotation.BeforeExecutionExclusionFileFilter
在checkstyle期间为maven-checkstyle-plugin跳过module-info.java
文件的正确方法是什么?
不确定为什么Checkstyle过滤器不起作用(这个报告的bug看起来与你的非常相似,它在7.3.0版本中得到修复,所以你可能需要更新Checkstyle)。
无论如何,Maven excludes
元素也应该这样做:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<configuration>
<excludes>**/module-info.java</excludes>
</configuration>
</plugin>
更多插件目标文档。
在Checkstyle 7.2中添加了BeforeExecutionExclusionFileFilter
。
但maven-checkstyle-plugin
版本3.0.0(截至2018-04-01的最新版本)默认使用Checkstyle 6.18。
“Checkstyle”和“Checkstyle Maven插件”是不同的东西,有不同的发布周期。
您可能需要升级Checkstyle版本 ,如下所示:
<plugin>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>3.0.0</version> <!-- Checkstyle Plugin version -->
<!-- ... Configuration, Executions ... -->
<dependencies>
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>8.8</version> <!-- Checkstyle version -->
</dependency>
</dependencies>
</plugin>
之后,将识别BeforeExecutionExclusionFileFilter
以及其他较新的Checkstyle功能(例如新检查)。
虽然这不可能作为答案。 然而,为了记录maven-checkstyle-plugin
所在的轨道,请注意太久以至于无法发表评论: -
2.17
版,差不多2年了。 3.0.0-SNAPSHOT
版本中指向插件中正在进行的工作,这可能意味着我们很快就会期待org.apache.maven.plugins:maven-checkstyle-plugin:3.0.0
。不久的将来,将把module-info.java
理解为一个类。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.