Аннотации Spring с нулевым значением генерируют предупреждение о неизвестной константе перечисления

В моем приложении всякий раз, когда я добавляю @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.

Приложение работает нормально, но предупреждение просто раздражает. Я использую весеннюю загрузку 2.1.0 и версию Java 1.8.0_191

Смотрите этот вопрос и, в частности, комментарий к его ответу: stackoverflow.com/questions/11104667/…

David Conrad 15.11.2018 21:38

Это вызывало у меня проблему всякий раз, когда я запускал встроенный Tomcat, но в автономном режиме у меня не возникало проблем. Я просто удалил аннотации проблемы.

cody.tv.weber 09.09.2019 23:53
34
2
18 865
2

Ответы 2

меня это тоже беспокоит. просто попробуйте это в своем помпе:

    <dependency>
        <groupId>com.google.code.findbugs</groupId>
        <artifactId>annotations</artifactId>
        <version>3.0.1</version>
    </dependency>

это работа для меня.

Проблема все еще существует даже после добавления этой зависимости. Я использую Gradle, но это не имеет особого значения.

skryvets 16.07.2019 15:56

Это предупреждение вызвано тем, что перечисление javax.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

использованная литература:

Это помогает Gradle + IntelliJ IDEA, поэтому спасибо за совет.

Dmitriy Popov 09.01.2020 12:23

Была такая же проблема с SB 2.3.6.RELEASE после добавления HandlerInterceptorAdapter. Применяется такое же решение.

Reginaldo Santos 23.12.2020 01:16

Другие вопросы по теме