在我的应用中,每当我将@Nullable
(从org.springframework.lang.Nullable
导入)添加到任何字段时,都会收到构建警告:
警告:java:未知的枚举常量javax.annotation.meta.When.MAYBE 原因:javax.annotation.meta的类文件。找不到时
@NonNull
和其他来自spring的null安全注释,因为其实现不会导入import javax.annotation.meta.When
,因此在编译时不会发出任何警告。
应用程序运行正常,但是警告很烦人。我正在使用Spring Boot 2.1.0
和Java版本1.8.0_191
答案 0 :(得分:2)
此警告是由avax.annotation.meta.When
枚举对您的项目运行时不可用引起的(org.springframework.lang.Nullable
引用了该枚举,但它不会自动变为可用)。您需要引入JSR305实现来解决此警告。
Google查找错误存储库包含应解决该问题的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
参考:
答案 1 :(得分:1)
这也困扰着我。 只需在pom中尝试一下:
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>annotations</artifactId>
<version>3.0.1</version>
</dependency>
这对我有用。