2010-12-17 19 views
13

Me gustan mucho las funcionalidades de inspección de códigos que ahora son compatibles con JSR 305 o con las anotaciones propietarias de Jetbrains para IntelliJ. Desafortunadamente ambas implementaciones (JSR 305 y JetBrains') no se mezclan bien:@ Nullable/@ NotNull con IntelliJ IDEA, Maven y JSR 305

  • IntelliJ, obviamente, sólo entiende su propio conjunto de propiedad de las anotaciones y las integra bastante bien.
  • Utilizando Findbugs en mi Maven Build, solo admite las anotaciones JSR-305.

La única solución posible podría ser la de ir a JSR-305 y utilizar el plugin Findbugs en IntelliJ. ¿Alguien tiene una idea mejor? (por favor no diga cambiar su IDE;)).

Gracias Thomas

+0

punta de desbordamiento de pila: al hacer una pregunta específica a un determinado lenguaje de programación, añadir que el lenguaje como una etiqueta. (Agregué la etiqueta de java para usted.) –

+0

Las anotaciones de JetBrains son fuente abierta de la licencia de Apache2 (p. Ej. Org.jetbrains.annotations.NotNull/Nullable). En cuanto a mezclarlos con FindBugs, consulte la respuesta a continuación (IntelliJ admite cualquier anotación que defina para el soporte IDE NotNull/Nullable) – osundblad

Respuesta

1

Como esta pregunta es IntelliJ específica que es quizás el más preguntó en un foro de IntelliJ. Puede encontrar este hilo interesante http://devnet.jetbrains.net/message/5262800. La desventaja de utilizar Findbugs es que no proporciona la inyección de código para las comprobaciones en tiempo de ejecución y parece que JSR-305 no se aprobará pronto.

+0

Peter, gracias por el enlace. Lo publiqué aquí porque creo que es algo más que IntelliJ;) Parece que una vez más, Java carece de una solución unificada.Tal vez solo haga un parche en Findbugs para tener en cuenta las anotaciones de Jetbrains y cambie a JSR-305 una vez que se apruebe (si es que alguna vez lo hizo). – Thomas

2

Según cuestión IntelliJ IDEA-64677:

  • soporte para arbitrarias @ Anulable/@ notnull anotaciones debe estar disponible en IDEA 10.0.3
  • habrá probablemente algunos una etapa (s) configuración manual para habilitar el soporte para las anotaciones no propietarias (ver los comentarios de Anna en esa página)
6

Llego tarde a la fiesta, pero para los lectores futuros esto podría ser interesante.

A partir de IntelliJ 15.0.2, es posible utilizar de forma nativa otras anotaciones que los JetBrains:

  • ir a la configuración
  • vaya a la pestaña Editor > Inspections
  • ir a Java > Probable Bugs > "@NotNull/@Nullable problems"
  • en al final del panel de opciones (es posible que tenga que desplazarse), hay un botón Configure annotations, que lleva a este cuadro de diálogo donde puede seleccionar de una lista de anotaciones conocidas:

enter image description here