运行 checkstyle 时,会抛出错误,指出无法处理某些文件,从而导致 HTML 报告无法生成

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

我正在尝试运行 checktyle 主要检查,它说尝试运行文件时发生错误。

这是确切的错误:

Execution failed for task ':checkstyleMain'.
> A failure occurred while executing org.gradle.api.plugins.quality.internal.CheckstyleAction
   > An unexpected error occurred configuring and executing Checkstyle.
      > Unable to process files: [F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\config\HttpsSetup.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\config\MyUserDetails.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\config\WebSecurity.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\controller\CommunityController.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\controller\ExceptionHandlerController.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\controller\FamilyTreeController.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\controller\forms\CommunityForm.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\controller\forms\FamilyTreeForm.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\controller\forms\RecipeForm.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\controller\forms\RegistrationForm.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\controller\HomeController.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\controller\LoginController.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\controller\RecipeController.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\controller\RegistrationController.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\controller\UnitConversionsController.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\domain\community\Community.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\domain\familyTree\Event.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\domain\familyTree\Family.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\domain\familyTree\Individual.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\domain\familyTree\Tree.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\domain\recipe\Image.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\domain\recipe\Ingredient.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\domain\recipe\Instruction.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\domain\recipe\Recipe.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\domain\recipe\Tag.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\domain\recipe\TagInitializationRunner.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\domain\unitConversions\ConvertedUnit.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\domain\users\PasswordRules.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\domain\users\Role.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\domain\users\User.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\domain\users\UserRole.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\repository\CommunityRepository.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\repository\FamilyTreeRepository.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\repository\IndividualRepository.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\repository\RecipeRepository.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\repository\TagRepository.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\repository\UserRepository.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\RnRApplication.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\service\community\CommunityCreationEvent.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\service\community\CommunityService.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\service\community\CommunityServiceImpl.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\service\emailService\EmailService.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\service\emailService\EmailServiceImpl.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\service\familyTree\FamilyTreeService.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\service\familyTree\FamilyTreeServiceImpl.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\service\familyTree\StandardiseDate.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\service\familyTree\TreeCreationEvent.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\service\genericService\GenericService.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\service\genericService\GenericServiceImpl.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\service\image\ImageService.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\service\image\ImageServiceImpl.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\service\recipe\RecipeCreationEvent.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\service\recipe\RecipeService.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\service\recipe\RecipeServiceImpl.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\service\unitConversions\fromUnitConversions\volume\FromCup.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\service\unitConversions\fromUnitConversions\volume\FromFluidOunce.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\service\unitConversions\fromUnitConversions\volume\FromGallon.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\service\unitConversions\fromUnitConversions\volume\FromLiter.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\service\unitConversions\fromUnitConversions\volume\FromMilliliter.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\service\unitConversions\fromUnitConversions\volume\FromPint.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\service\unitConversions\fromUnitConversions\volume\FromTbsp.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\service\unitConversions\fromUnitConversions\volume\FromTsp.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\service\unitConversions\fromUnitConversions\weight\FromGram.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\service\unitConversions\fromUnitConversions\weight\FromKilogram.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\service\unitConversions\fromUnitConversions\weight\FromMilligram.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\service\unitConversions\fromUnitConversions\weight\FromOunce.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\service\unitConversions\fromUnitConversions\weight\FromPound.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\service\unitConversions\fromUnitConversions\weight\FromStone.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\service\unitConversions\UnitConversionsService.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\service\unitConversions\UnitConversionsServiceImpl.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\service\user\MyUserDetailsService.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\service\user\UserCreationEvent.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\service\user\UserService.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\service\user\UserServiceImpl.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\utils\CONSTANTS.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\utils\DoubleCheck\DoubleCheck.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\utils\DoubleCheck\DoubleValidator.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\utils\FileExtensionCheck\FileExtensionCheck.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\utils\FileExtensionCheck\FileExtensionValidator.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\utils\IntegerCheck\IntegerCheck.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\utils\IntegerCheck\IntegerValidator.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\utils\PasswordMatcher\PasswordMatcher.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\utils\PasswordMatcher\PasswordMatcherValidator.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\utils\ValidateString\StringValidator.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\utils\ValidateString\ValidateString.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\utils\ValidPassword\LowercaseConstraintValidator.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\utils\ValidPassword\LowercaseValidator.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\utils\ValidPassword\NumbersConstraintValidator.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\utils\ValidPassword\NumbersValidator.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\utils\ValidPassword\SpecialCharConstraintValidator.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\utils\ValidPassword\SpecialCharValidator.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\utils\ValidPassword\UppercaseConstraintValidator.java, F:\Computer Science\Work\RnR\src\main\java\FamilyFusion\rnr\utils\ValidPassword\UppercaseValidator.java]

但是,它能够在失败之前识别出一些错误,所以我不确定为什么会发生这种情况(大约 70 个)。

这就是我的 build.gradle 文件的样子:

plugins {
    id 'java'
    id 'org.springframework.boot' version '3.1.0'
    id 'io.spring.dependency-management' version '1.1.0'
    id 'checkstyle'
}

group = 'FamilyFusion'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'

configurations {
    compileOnly {
        extendsFrom annotationProcessor
    }
}

repositories {
    mavenCentral()
}

dependencies {
    // Spring Boot Starters
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.springframework.boot:spring-boot-starter-mail'
    implementation 'org.springframework.boot:spring-boot-starter-security'
    implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
    implementation 'org.springframework.boot:spring-boot-starter-web'

    // Validation
    implementation 'org.springframework.boot:spring-boot-starter-validation:3.0.6'

    // Thymeleaf Extras
    implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity6'
    implementation 'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect:3.2.1'

    // File Upload
    implementation 'commons-fileupload:commons-fileupload:1.5'

    // Gedcom4j
    implementation 'org.gedcom4j:gedcom4j:4.0.1'

    // JSON
    implementation 'org.json:json:20230618'

    // Checkstyle
    implementation 'checkstyle:checkstyle:5.0'

    // Lombok
    compileOnly 'org.projectlombok:lombok'
    annotationProcessor 'org.projectlombok:lombok'

    // Development Tools
    developmentOnly 'org.springframework.boot:spring-boot-devtools'

    // Database Connector
    runtimeOnly 'com.mysql:mysql-connector-j'

    // Testing
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    testImplementation 'org.springframework.security:spring-security-test'
}

checkstyle {
    toolVersion = 8.25
    checkstyleTest.enabled = false
    ignoreFailures = false
}

tasks.named('test') {
    useJUnitPlatform()
}

我在设置过程中做错了什么吗?它曾经在开始时工作,但由于某种原因,它在某个时候停止工作,从那以后我一直无法让它工作。

我的 config/checkstyle 文件夹中有 checkstyle xml 文件,该文件夹与 build.gradle 文件位于同一目录中。

spring-boot gradle checkstyle
1个回答
0
投票

我不确定为什么这对我有用,但我纯粹是偶然发现的。如果有人知道为什么这有效,请告诉我。我正在尝试学习 checkstyle:

checkstyle {
    toolVersion = 8.40
    maxWarnings = 0
    ignoreFailures = false
}

tasks.withType(Checkstyle).configureEach {
    reports {
        xml.required = true
        html.required = true
    }
}

我使用了这个网站:https://datamify.medium.com/java-checkstyle-how-to-format-your-java-code-with-checkstyle-929565ce39a3

我只使用了gradle设置,没有使用checkstyle文件。我用的是我自己的

© www.soinside.com 2019 - 2024. All rights reserved.