java - Checkstyle LineLength 配置不起作用
问题描述
在尝试添加maven-checkstyle-plugin
到我的 Java 项目时,我遇到了一些奇怪的问题。checkstyle 版本是 3.1.0,它使用 checkstyle 版本 8.19。以下是checkstyle.xml
项目正在使用:
<?xml version="1.0"?>
<!DOCTYPE module PUBLIC
"-//Checkstyle//DTD Checkstyle Configuration 1.3//EN"
"https://checkstyle.org/dtds/configuration_1_3.dtd">
<module name="TreeWalker">
<module name="LineLength">
<property name="max" value="120"/>
</module>
</module>
和我在 pom.xml 上的配置
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<configLocation>checkstyle.xml</configLocation>
</configuration>
</plugin>
现在,当我运行时mvn checkstyle:check
,会显示以下消息:
[错误] 无法在项目 myproject 上执行目标 org.apache.maven.plugins:maven-checkstyle-plugin:3.1.0:check (default-cli):在 checkstyle 配置期间失败:在 Checker 中不允许 LineLength 作为子项 - > [帮助1]
如果我更新 checkstyle 使其看起来像这样
<?xml version="1.0"?>
<!DOCTYPE module PUBLIC
"-//Checkstyle//DTD Checkstyle Configuration 1.3//EN"
"https://checkstyle.org/dtds/configuration_1_3.dtd">
<module name="LineLength">
<property name="max" value="120"/>
</module>
我收到以下消息
[错误] 无法在项目 myproject 上执行目标 org.apache.maven.plugins:maven-checkstyle-plugin:3.1.0:check (default-cli):在 checkstyle 配置期间失败:属性“max”不存在,请检查文档 -> [帮助 1]
我无法推理发生了什么,因为对我来说,错误消息具有误导性。我在这个配置上缺少什么?
解决方案
实际上,在较新的版本中LineLength
不应再下,TreeWalker
而是直接下。Checker
见这里:
https ://github.com/checkstyle/eclipse-cs/issues/190
推荐阅读
- silverstripe - 如何覆盖 SilverStripe 的用户定义表单的模板/视图
- vb6 - 如何从 VB-6 旧应用程序中启动屏幕键盘程序
- javascript - 选项是如何通过 jquery.timeline.js 传递的
- couchdb - 突然更改有 CORS bulkdocs couchDB 错误
- php - 如何使用 bootstrap 和 html 获得良好的视图?
- python - 如何使用 Keras 对字符串列表进行热编码?
- python - Tkinter 小部件都打包在同一个框架中
- javascript - 尝试部署我的后端 Firebase 功能时的承诺错误
- r - 如何从 R 函数中的“...”中的对象创建单独的集合
- powershell - Powershell Invoke-GPUpdate - “没有注销”可能吗?