gradle - 无法实例化 'InvalidJavadocPosition'类

标签 gradle checkstyle

我正在使用 Gradle 5.5.1 并想添加 checkstyle 插件。

我添加了插件

plugins {
    id 'checkstyle'
}

并从 sun_checks.xml 获取 sun_checks.xml 。 但是当我尝试执行 gradlew clean check 时,它失败并出现由以下原因引起的异常:

Caused by: com.puppycrawl.tools.checkstyle.api.CheckstyleException: Unable to instantiate 'InvalidJavadocPosition' class, it is also not possible to instantiate it as
.InvalidJavadocPosition, InvalidJavadocPositionCheck, .InvalidJavadocPositionCheck. Please recheck that class name is specified as canonical name or read how to config
ure short name usage https://checkstyle.org/config.html#Packages. Please also recheck that provided ClassLoader to Checker is configured correctly.
        at com.puppycrawl.tools.checkstyle.PackageObjectFactory.createModule(PackageObjectFactory.java:210)
        at com.puppycrawl.tools.checkstyle.TreeWalker.setupChild(TreeWalker.java:127)
        ... 110 more

据我了解,这是由于gradle使用8.17的默认checkstyle版本不支持的规则引起的。

但是当我想像这样更改工具版本时(更新到更高的位置)

checkstyle { toolVersion '8.21' }

它没有解决问题。有什么问题吗?

最佳答案

您提供链接的 sun_checks.xml 文件是 GitHub 中的最新版本的代码。如果您点击该链接,您将看到 InvalidJavadocPosition 检查模块已于 22 天前添加:

“rnveach 问题 #6649:22 天前添加 InvalidJavadocPositionCheck 2b7b0c2”

22 天前,InvalidJavadocPositionCheck 类也被添加到 GitHub 的 checkstyle 代码库中,预定版本为 8.23:

https://github.com/checkstyle/checkstyle/blob/master/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/InvalidJavadocPositionCheck.java

* @since 8.23
*/
@StatelessCheck
public class InvalidJavadocPositionCheck extends AbstractCheck {

因此您使用的 sun_checks.xml 文件与尚未发布的 8.23 兼容。

简单的解决方法是删除该模块,直到 8.23 发布:

<!-- <module name="InvalidJavadocPosition"/> -->

关于gradle - 无法实例化 'InvalidJavadocPosition'类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57110133/

相关文章:

gradle:如何共享包含我是唯一拥有的信息的build.gradle?

Android gradle同步问题

continuous-integration - jenkins 中的几个 checkstyle 报告

java - CheckStyle 不会标记接口(interface)方法上缺少 JavaDoc

java - 如何确保 java-maven 构建的所有源文件都附有版权声明?

java - 谷歌 Java 风格 : checkstyle file with corresponding editorconfig file for Visual Studio Code

gradle - 何时使用 plugins.withType(somePlugin).whenPluginAdded

android - Travis CI Build在Android应用程序上失败不受支持的major.minor版本52

android - Android Gradle语法和构建工具兼容性问题

java - 创建自定义检查样式