gpt4 book ai didi

Spring可为空的注释生成未知的枚举常量警告

转载 作者:行者123 更新时间:2023-12-04 03:48:09 27 4
gpt4 key购买 nike

在我的应用程序中,每当我添加 @Nullable (从 org.springframework.lang.Nullable 导入)到任何字段,我都会收到构建警告:

Warning:java: unknown enum constant javax.annotation.meta.When.MAYBE reason: class file for javax.annotation.meta.When not found


@NonNull和其他来自 spring 编译的空安全注释没有任何警告,因为它的实现不导入 import javax.annotation.meta.When .

该应用程序运行良好,但警告只是烦人。我正在使用 Spring Boot 2.1.0和 java 版本 1.8.0_191

最佳答案

此警告是由 javax.annotation.meta.When 引起的。枚举对您的项目运行时不可用(org.springframework.lang.Nullable 引用此枚举,但它不会自动提供)。您需要引入 JSR305 实现来修复此警告。

Google find bugs repo 包含一个 JSR305 实现,应该可以解决这个问题:
https://mvnrepository.com/artifact/com.google.code.findbugs/jsr305

由于您使用的是 gradle,请将依赖项添加到您的 build.gradle脚本:

...
dependencies {
...

// https://mvnrepository.com/artifact/com.google.code.findbugs/jsr305
implementation 'com.google.code.findbugs:jsr305:3.0.2'

...
}
...

做一个干净的构建,错误应该消失

如果您不想使用 com.google.code.findbugs组的神器,你可以从这个列表中尝试另一个:
https://mvnrepository.com/search?q=JSR305

引用:
  • Strange Eclipse IDE error javax.annotation.meta.When #Java
  • What happened to Java's @OverridingMethodMustCallSuper?
  • https://github.com/sbrannen/runtime-annotations/blob/master/src/main/java/org/example/SpringApplication.java
  • 关于Spring可为空的注释生成未知的枚举常量警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53326271/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com