Checkstyle 给出错误 NoClassDefFoundError: org/pache/commons/collections/FastHashMap

问题描述 投票:0回答:2

gradle clean build
处运行
Task :checkstyleMain
时,出现以下错误。当我从
checkstyle
文件中删除
build.gradle
插件及其配置时,它能够成功构建。我尝试将
commons-collections:3.2.2
commons-beanutils:1.9.4
添加到我的 gradle 文件作为依赖项,但错误仍然存在。

java.lang.NoClassDefFoundError: org/apache/commons/collections/FastHashMap
    at org.apache.commons.beanutils.PropertyUtilsBean.getPropertyDescriptor(PropertyUtilsBean.java:963)
    at org.apache.commons.beanutils.BeanUtilsBean.copyProperty(BeanUtilsBean.java:391)
    at com.puppycrawl.tools.checkstyle.api.AutomaticBean.tryCopyProperty(AutomaticBean.java:217)
    at com.puppycrawl.tools.checkstyle.api.AutomaticBean.contextualize(AutomaticBean.java:249)
    at com.puppycrawl.tools.checkstyle.Checker.setupChild(Checker.java:455)
    at com.puppycrawl.tools.checkstyle.api.AutomaticBean.configure(AutomaticBean.java:186)

这些是 checkstyle 在我的项目中使用的依赖项(我运行了

gradle dependencies
):

com.puppycrawl.tools:checkstyle:10.0
+---info.picocli
+---org.antlr
+---commons-beanutils
+---com.google.guava
+---org.reflections
\---net.sf.saxon

这是我的 build.gradle 文件的一小段:

plugins {
    id 'checkstyle'
}

group = 'com.example.project'
version = '0.1'
sourceCompatibility = '11'

configurations {
   compileOnly {
      extendsFrom annotationProcessor
   }
}

repositories {
 ...
}

dependencies {
 ...
}

checkstyle {
   configFile file("checkstyle.yml")
   toolVersion '10.0'
   maxErrors 0
   maxWarnings 0
}
java android gradle checkstyle
2个回答
0
投票

当依赖项“commons-beanutils”无法拉取其依赖项“commons-collections”时,就会发生这种情况。 因此,如果您没有排除对 commons-collections 的依赖,请仔细检查您的 build.gradle。 你的依赖树:

+---commons-beanutils

它应该是:

+--- commons-beanutils:commons-beanutils:<version>
|    |    \--- commons-collections:commons-collections:<version>

0
投票

将其添加到我的grade.build文件中对我有用:

dependencies {
    checkstyle "com.puppycrawl.tools:checkstyle:10.18.1"
    checkstyle "commons-collections:commons-collections:3.2.2" 
}
© www.soinside.com 2019 - 2024. All rights reserved.