Betrachten Sie die Liste der Anmerkungen in FindBugs 2.0 Ich sehe, dass viele von ihnen veraltet sind.
Einige davon ( @CheckForNull
, @NonNull
usw.) sind veraltet, weil sie entsprechende JSR-305-Annotationen enthalten. Gut, um das Dilemma über die zu verwendenden Annotationen endgültig zu lösen.
Aber einige FindBugs-spezifische Annotationen, wie zum Beispiel @DefaultAnnotation
und @DefaultAnnotationForFields
, sind ebenfalls veraltet und ich kann keine Erklärung finden, was ich an ihrer Stelle verwenden könnte. Ich versuche, eine Codebase zu migrieren, die diese Anmerkungen stark nutzt, und ich bin ein bisschen festgefahren.
Ich sehe, dass JSR-305 @ParametersAreNonnullByDefault
hat, was ich verwenden könnte, um einige Instanzen von @DefaultAnnotationForParameters
zu ersetzen, aber das deckt nicht alle Fälle ab.
Vermisse ich etwas Großes hier? Sollte ich eine Art Einstellungsdatei oder etwas anstelle von Anmerkungen verwenden?
(Hinweis: Siehe einen verwandten Artikel unter Sollten Annotationen in jar305.jar gegenüber ähnlichen Annotationen in annotation.jar für FindBugs bevorzugt werden? )
Aus dem PDF-Dokument des Autors ( hier ), auf Seite 51:
JSR-305 definiert nur
ParametersAreNonnullByDefault
, aber mehr kann außerhalb von JSR-305 definiert werden• und kann von statischen Analysatoren interpretiert werden die JSR-305-Annotationen interpretieren
... also im Grunde können Sie es selbst definieren und ihm den gleichen Namen geben wie dem, den Sie ersetzen, und es sollte gut funktionieren, da FindBugs nur Anmerkungen nach Namen ausführt (und wahrscheinlich den JSR-305 bevorzugt) Annotationen, vielleicht vor allem aufgrund der Abwertung).
Beispiel: hier ist die Quelle von @ParametersAreNonnullByDefault
.
Für weitere Informationen müssen Sie möglicherweise den Autor von JSR-305 und FindBugs per E-Mail schicken: Bill Pugh ( hier ist seine Website). Außerdem wurde das Problem dem Sourceforge Bug Tracker hinzugefügt ( hier ).
Tags und Links java annotations findbugs deprecated