Аннотации Findbugs - мне нужны annotation.jar и jsr305.jar в моем развернутом коде?

Так, я хотел бы использовать findbugs аннотации для отключения предупреждения, мы считаем хорошо код.

Мы должны развернуть annotation.jar и jsr305.jar в наше производственное время выполнения, или нам только нужны эти банки в пути к классу для нашего проекта Eclipse и нашей среды сборки Unix?

18
задан finnw 17 February 2010 в 23:40
поделиться

2 ответа

Аннотации имеют разные политики хранения :

  • ИСТОЧНИК - не в файле класса, отбрасывается компилятором (не потребуется во время выполнения)
  • КЛАСС - в файле класса, но виртуальная машина могут выбросить их
  • RUNTIME - доступно для отражения во время выполнения

Логика указала бы, что аннотации хранения SOURCE не нужны во время выполнения, CLASS не должны , а RUNTIME должны быть доступным.

Быстрый взгляд на аннотации JSR 305 показывает, что они используют политику хранения RUNTIME ( пример ), что указывает мне, что эти jar-файлы действительно понадобятся для загрузки классов во время выполнения, чтобы удовлетворить аннотации. договор.

Но я на самом деле не проверял это сам.

11
ответ дан 30 November 2019 в 09:03
поделиться

Согласно моему связанному вопросу , вы обычно не столкнетесь с какими-либо проблемами, если эти аннотации отсутствуют во время выполнения, даже если некоторые из них имеют @Retention(RUNTIME).

8
ответ дан 30 November 2019 в 09:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: