IDEA导入checkstyle的xml文件报错cant initialize modul treewalker(○´・д・)ノ

问题描述

在IntelliJ IDEA载入Java的checkstyle文件时,报错内容大致如下:

com.puppycrawl.tools.checkstyle.api.CheckstyleException: 
cannot initialize module TreeWalker - TreeWalker is not allowed as a parent of LineLength
Please review 'Parent Module' section for this Check in web documentation if Check is standard.
	at com.puppycrawl.tools.checkstyle.Checker.setupChild(Checker.java:473)
	at com.puppycrawl.tools.checkstyle.api.AutomaticBean.configure(AutomaticBean.java:198)
	at org.infernus.idea.checkstyle.service.cmd.OpCreateChecker.execute(OpCreateChecker.java:61)
	at org.infernus.idea.checkstyle.service.cmd.OpCreateChecker.execute(OpCreateChecker.java:26)
	at org.infernus.idea.checkstyle.service.CheckstyleActionsImpl.executeCommand(CheckstyleActionsImpl.java:130)
	at org.infernus.idea.checkstyle.service.CheckstyleActionsImpl.createChecker(CheckstyleActionsImpl.java:60)
	at org.infernus.idea.checkstyle.service.CheckstyleActionsImpl.createChecker(CheckstyleActionsImpl.java:51)
	at org.infernus.idea.checkstyle.checker.CheckerFactoryWorker.run(CheckerFactoryWorker.java:46)
Caused by: com.puppycrawl.tools.checkstyle.api.CheckstyleException: TreeWalker is not allowed as a parent of LineLength Please review 'Parent Module' section for this Check in web documentation if Check is standard.
	at com.puppycrawl.tools.checkstyle.TreeWalker.setupChild(TreeWalker.java:147)
	at com.puppycrawl.tools.checkstyle.api.AutomaticBean.configure(AutomaticBean.java:198)
	at com.puppycrawl.tools.checkstyle.Checker.setupChild(Checker.java:468)
	... 7 more

引发原因

通过查阅资料发现产生问题的原因在于checkstyle的版本更新致使出现不兼容的情况(生气(╯▔皿▔)╯)

解决方法1

在这里插入图片描述
手动修改checkstyle版本,经检验本人要载入的文件修改为8.23或8.0后都可成功载入

解决方法2

如果找不到合适的版本,或者懒得找(雾),可以用暴力手段阉割掉出现问题的地方(磨刀霍霍向🐖🐏)

  1. 打开要载入的xml文件
    如图,我这里是用vscode打开的
    在这里插入图片描述

  2. 根据报错内容,找出产生错误的module
    我直接将报错复制到一个文件里方便查看
    在这里插入图片描述
    阅读后发现问题大致出现在TreeWalker下不能有LineLength模块
    斟酌了一下,先尝试注释掉较小的LineLength模块
    在这里插入图片描述
    保存,并再次尝试载入
    在这里插入图片描述
    成功!

后记

这里再分享一个小技巧
在载入时,如果选择的是下图的settings选项,则载入仅对当前项目有效
在这里插入图片描述
如果选择下图这样的othersettings,则会默认对所有新创建的项目都有效,就不用每创一次导一次啦~
在这里插入图片描述
ps:方法二中被注释掉的内容是否会影响使用还不得而知,如有问题日后会继续补充 : )

  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值