我正在尝试运行 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 文件位于同一目录中。
我不确定为什么这对我有用,但我纯粹是偶然发现的。如果有人知道为什么这有效,请告诉我。我正在尝试学习 checkstyle:
checkstyle {
toolVersion = 8.40
maxWarnings = 0
ignoreFailures = false
}
tasks.withType(Checkstyle).configureEach {
reports {
xml.required = true
html.required = true
}
}
我只使用了gradle设置,没有使用checkstyle文件。我用的是我自己的