Questa è la mia classe (JAX-RS annotati):Come insegnare a findbugs a capire correttamente i campi IoC?
@Path("/")
public class Foo {
@Context
private UriInfo uriInfo;
// ...
}
Questo è ciò che findbugs dice:
Unwritten field: com.XXX.Foo.uriInfo
E 'vero, il campo è non scritta, ma è iniettato da JAX-RS servlet . Penso che sto facendo qualcosa di sbagliato qui, ma come risolvere il problema?
si potrebbe provare solo sopprimere l'avvertimento ... –
@Donal Beh, naturalmente, Posso persino disabilitare la convalida del findbugs. Ma il punto non è disattivare la validazione, ma capire come scrivere codice sicuro e protetto. Findbugs e i suoi avvertimenti sono progettati per aiutare in questo, per quanto ho capito. Destra? – yegor256
Ecco perché non l'ho fatto in una risposta. (Si potrebbe anche chiedere direttamente agli sviluppatori di Findbugs: l'annotazione '@ Context' viene mantenuta in fase di esecuzione e quindi può essere individuata dal proprio analizzatore.OTOH, quando le cose diventano complesse, ad es. Con Spring, è * ancora * meglio farlo in modo diverso che Findbugs non si arrabbi tanto.) –