java - para - intellij idea full linux
IDEA JetBrains IntelliJ-Compila el error en ''make'' pero está bien cuando se compila usando Maven y no hay errores reportados por IntelliJ en el archivo de clase (18)
Entonces tengo un módulo maven (módulo A) en IntelliJ. Recientemente cambié algunas clases de él a otro módulo maven nuevo (módulo-B) y agregué una dependencia a él. Una vez que hice esto, también modifiqué la firma de un método de una de las clases movidas (ahora en el módulo B).
Reimporté los poms para que IntelliJ recogiera los cambios de dependencia y me aseguré de que todas las importaciones de Java para los archivos afectados volvieran a ser correctas. Ahora cuando intento ejecutar mi aplicación web (que depende de los dos módulos) obtengo un error de compilación en una clase en el módulo A que llama al método modificado de la clase en el módulo B.
El mensaje de error básicamente dice que ese método no existe, pero cree que el método anterior todavía existe. Hago clic en el error ''hacer'' y me lleva a la línea en una clase del módulo: una llamada al método modificado ... lo extraño es que IntelliJ sabe que está bien en el archivo. es decir, el método no está subrayado en rojo, como suele ser un error de compilación, pero el nombre del archivo de clase es :(
Lo compilé desde la línea de comando usando ''mvn install'' (también había instalado el módulo B) y todo fue exitoso. He eliminado el directorio de clases en el destino tanto del módulo A como del módulo B y también he invalidado los cachés de IntelliJ y los reinicié ... sigue ocurriendo ... ¿alguna idea?
¡Así que lo dije esta mañana y todo está funcionando!
Ayer por la noche lo que hice fue abrir un nuevo proyecto (proyecto intelliJ) del módulo A y el pom padre del módulo B y lo logré construir, posiblemente haciendo eso y luego volver a abrir mi proyecto original lo arreglé de alguna manera ... muy molesto aunque
Acabo de tener un problema similar que me estaba volviendo loco. Había hecho todas las otras cosas mencionadas en las respuestas anteriores porque utilicé Intellij para siempre, pero ninguna funcionó. Al final descubrí que en la parte de proyectos de maven de Intellij, uno de mis módulos había sido marcado como "ignorar", un simple comando de ignorar desde el menú de contexto hizo el truco.
Cambie la configuración del "compilador Java" en IDEA (compilador de usuarios javac en proceso) para solucionar el problema.
Descubrí que esto podría ayudar:
Archivo -> Invalidar cachés
El comportamiento que veo es similar al descrito por el autor original. Los marcadores de error aparecen en el lado derecho del editor en Intellij 14 y menos en 13.
Esto también ocurre si se usa Scala en lugar de Java y se usa SBT en lugar de Maven.
También notó que esto ocurre después de que se cargó el segundo proyecto. El primero siempre está bien. (Después de mucho ensayo y error) Supuse que podría deberse a que las memorias caché internas de Intellij se estaban volviendo corruptas. "Invalidar cachés" funcionó alguna vez y otras no.
¡Trabajo con varios proyectos usando Play! Framework y usan diferentes versiones de Scala y muchas dependencias. Presumí que las memorias caché se corrompieron porque la clave interna que usa Intellij no es lo suficientemente buena para manejar situaciones cuando la misma clase, cargada varias veces en diferentes jarras, tiene diferentes firmas, y esto da como resultado errores del editor mientras que las compilaciones externas funcionan bien.
Luego, ¿el "cambio de ubicación de Ivy Cache para proyectos sbt en IntelliJ IDEA?" post dio la idea de segregar la caché de hiedra SBT e Intellij usar con la esperanza de que la ruta ivy es parte de la clave de caché interna.
Paul Phillips de TypeSafe proporciona las herramientas "extras SBT" y aquí encontré una forma de instruir a SBT para usar un inicio de hiedra basado en proyecto, caché y arranque SBT:
https: //raw.githubusercontent.com/paulp/sbt-extras/master/sbt
declare -r noshare_opts = "- Dsbt.global.base = project / .sbtboot -Dsbt.boot.directory = project / .boot -Dsbt.ivy.home = project / .ivy"
Cómo configurar Intellij: vea http://content.screencast.com/users/SemanticBeeng/folders/Snagit/media/ec8ec491-6d0c-4691-9598-916a63ba65ef/12.02.2014-08.59.png
Luego hizo lo mismo para que la versión externa de SBT funcione de manera sincronizada: consulte http://content.screencast.com/users/SemanticBeeng/folders/Snagit/media/dcb287c4-200f-47f3-a937-42865675a22b/12.02.2014-09.01.png
Finalmente se deshizo del usuario basado en .ivy2 y todos los contenidos. Para estar seguro de que Intellij no usa esta carpeta, la hice de solo lectura. Esto fue un error Intellij parece fallar silenciosamente en resolver dependencias si lo hace.
Esto resolvió los errores y cree que no volverán. :-)
Si los chicos de Intellij escuchan esto: prueben sus lanzamientos (Scala, SBT, editor) con todas las plantillas de Play Framework de TypeSafe. El problema se hace evidente rápidamente de esta manera.
En mi caso, marqué manualmente un directorio como "Raíz de fuentes de prueba", pero IDEA lo marcó en un proyecto principal de Maven. Desmarcándolo en Archivo-> Estructura del proyecto ...-> Los módulos corrigieron el problema.
Estaba enfrentando un problema similar después de actualizar de IntelliJ 12 a 13. Después de varias desinstalaciones y reinstalaciones (de múltiples versiones inteligentes), numerosas limpiaciones y eliminación de repositorio .m2, finalmente descubrí cuál era mi problema.
En mi configuración de intelliJ, los repositorios mencionados en mi archivo POM principal no se pudieron conectar. esto a su vez fue un repositorio alternativo y alternativo que se mencionó como parte de mi archivo pom. Una vez que el POM se hizo para señalar el repositorio correcto, todas mis clases tuvieron sus problemas de compilación resueltos.
Para verificar si sus repositorios se están conectando, vaya a Archivo -> Configuración -> Maven -> Repositorios
Aquí, sus repositorios maven indexados deberían estar conectados exitosamente. Si no lo son, intelliJ no podrá resolver la mayoría de las dependencias entre terceros y módulos.
Esto me pasó a mí ... lo que lo solucionó fue darme cuenta de que había un archivo main.iml extra en el directorio fuente. Al eliminar esto, desaparecieron instantáneamente los errores de compilación.
Esto podría suceder si está utilizando una versión diferente de Java mientras construye fuera de IntelljJ. Mi IntelliJ tenía java10 y yo estaba usando java8 mientras construía en la terminal. Cambiar la versión de Java a IntelliJ me solucionó este problema.
Intente mvn clean
sus proyectos y mvn install
su proyecto B.
La integración de maven con intelliJ es un poco problemática cuando usas el comando make proporcionado directamente por Intellij. Debería usar directamente los comandos mvn o iniciarlos desde el panel de maven.
Los siguientes pasos deberían solucionar este problema:
- eliminar .IntelliJIdea12 / .IdeaIC12 anterior en c: / usuario /.../
- Invalidar el caché de Intelli: Archivo> Invalidar cachés .
Esto vuelve a indexar su espacio de trabajo en la puesta en marcha y también borra su historial local . Antes de hacer esto, confirme o realice una copia de seguridad de todos sus cambios no confirmados. - Una vez que su espacio de trabajo vuelva después de la indexación, realice una instalación limpia .
- cuando la construcción sea exitosa, haga clic en Maven Re-imports
Esto funcionó para mí , creo que debería funcionar para otros también con un problema similar.
Me da vergüenza decirlo, pero también tuvimos este problema, pero fue debido a un error en el nombre de nuestro paquete.
Al crear los paquetes para un nuevo proyecto, accidentalmente creé un paquete llamado "org.package".
Mi proyecto tenía una estructura de directorios como:
/src/main/java/org.package/
Lo cual causó todo tipo de estragos con IntilliJ.
Una vez que se creó la estructura correcta de carpetas en el sistema de archivos, IntelliJ funcionó de maravilla.
/ src / main / java / org / paquete /
Tenga en cuenta la diferencia en /org.package/ vs / org / package /
Me encontré con este problema hoy después de actualizar de 12 a 13.
Más tarde arreglé el problema porque utilicé el mismo nombre para Proyecto y Módulo, y parece que Intellij lo permite pero no puede manejarlo correctamente.
No tengo idea de por qué el ajuste afectará la compilación, aunque no hay ningún error en el editor de Java. Debería haber un error en la versión 13.
Me encontré con un problema muy similar que me estaba volviendo loco.
Mi código se compilaría bien con la tarea ant que normalmente ejecuto, pero no se compilaría en IntelliJ, quejándose de "No se puede encontrar el símbolo, bla, bla".
Resulta que puede agregar archivos "Excluidos" para el compilador. Mi archivo de alguna manera se agregó a esa lista.
Esta lista se encuentra en Archivo> Configuración> Compiler> Excludes (IntelliJ 13)
Pasé unas horas en este mismo tema. Todas las limpiezas del mundo no ayudaron.
Borré mi directorio de salida y de destino en mi proyecto y volví a compilarlo; eso lo borró.
Editar: También hay una función mágica en el menú de archivo: "Invalidar caché / reiniciar" Esto soluciona un montón de problemas "intellij es confuso".
Proyectos Maven -> Reimport debería ayudar.
Tuve un comportamiento muy similar. Las pruebas de ejecución (Scala-) siempre fallarían debido a errores en clases java no relacionadas durante el paso ''hacer''.
Resultó que había incluido una biblioteca ''global'' de SDK que colisionó con una de las dependencias del proyecto. Un mensaje de error útil adecuado solo apareció después de eliminar el paso ''hacer'' de la prueba. Luego eliminé la biblioteca duplicada, volví a agregar el paso "make" a la prueba y todo está funcionando bien.