dependency - netbeans maven console
Errores "No se puede encontrar el símbolo" en NetBeans (5)
Trabajo en un proyecto escolar usando NetBeans 7, Maven y la plataforma NetBeans. El proyecto ha sido creado utilizando la plantilla del proyecto "Proyecto Maven / POM". Es una aplicación "empresarial" de múltiples niveles que utiliza varios módulos (modelo, integración, negocio, presentación, la aplicación de cliente enriquecido en sí y algunos otros).
Hay dependencias entre estos módulos (pero no hay dependencias circulares). El problema es que Maven o NetBeans se siguen confundiendo. Hay varios tipos de problemas que aparecen de forma semicompleta sin ningún activador. Tengo que volver a compilar los módulos, cerrar y volver a abrir NetBeans, borrar el caché de NetBeans, eliminar y leer las dependencias, y así sucesivamente para eliminar temporalmente los problemas. Sigo teniendo estos problemas con dos instalaciones diferentes de NetBeans en Windows XP SP3 y Mac OS X.
Los síntomas son:
1) A veces NetBeans decide que no existe ninguna de las clases importadas de otro módulo (y obtengo el cannot find symbol
errores de cannot find symbol
. Esto ocurre repetidamente, a veces a módulos que he compilado satisfactoriamente hace unos segundos. La mayoría de las veces, recompilar la dependencia no ayuda. Las dependencias necesarias se declaran en el POM, los archivos jar existen, y si los amplío en la vista del proyecto, puedo ver las clases en cuestión.
2) A veces NetBeans decide que un método de una clase importada no arroja una excepción que declara arrojar. Dado que las llamadas a dichos métodos generalmente están rodeadas por bloques de try
, NetBeans muestra un error con el mensaje a.package.SomeException is never thrown in body of corresponding try statement
. Si no elimino el bloque try, el módulo no se compila debido a NetBeans. Si elimina el bloque, el módulo no se compila debido a Maven (Maven, por alguna razón, puede ver la excepción y se queja de que no está atrapada). Esto también ocurre repetidamente, no estoy muy seguro de cómo solucionarlo de manera confiable.
En este punto, los problemas con Maven y NetBeans son tan malos que no puedo trabajar en el proyecto. Si no tuviera que usar NetBeans y Maven, ya habría vuelto a vim y Makefiles. Al menos alguien reconoce estos problemas?
EDITAR: He enviado el proyecto, obtuve 30 de 20 puntos por el trabajo extra que he hecho en él, y hasta que deje la fase alfa, espero no tener que volver a trabajar con NetBeans.
Eliminar la dependencia, compilar (y obtener errores de compilación) y luego volver a agregarla (ya sea manualmente, desde pom.xml o desde la interfaz) me ayudó. Pero estoy de acuerdo que este es un error importante.
Me encontré con esto una vez con NetBeans 8.0.2. el problema estaba claramente relacionado con el proyecto lombok, pero no tengo idea de por qué sucedió. Instalé maven e hice ''mvn clean install'' en cada uno de mis proyectos y pareció aclarar el problema. NetBeans comenzó a trabajar nuevamente después de eso.
Nunca tuve un enmascaramiento de un cannot find symbol
en un proyecto maven de varios módulos en Netbeans 7.0.0
El símbolo en cuestión era una clase en otro módulo en mi proyecto maestro maven.
Refactorizo / cambié el nombre de la clase que no se encontraba; esto solucionó el problema. Luego lo renombré, el problema permaneció fijo.
No es ideal de ninguna manera, pero pensé que lo compartiría.
Si tiene varios proyectos, tenga cuidado con la opción netbeans de compilar en guardar, si algunas de sus dependencias han activado esta opción, la compilación de su proyecto principal fallará, deshabilitará la compilación automática al guardar, volverá a compilar dependencias (Limpiar y compilar) y usted debería estar bien.
Tuve el problema con netbeans marcando el error ''... La excepción nunca se arroja en el cuerpo de la declaración try correspondiente'' Project construiría bien, pero los mensajes de error no desaparecerían. Finalmente lo solucionó al salir y volver a abrir netbeans.
Estoy en un Mac, y el botón Cerrar no cierra netbeans, es necesario cerrar por completo.