Tengo un proyecto JDK 1.7 con una dependencia de maven a un jar local en mi repositorio de maven.
No puedo construir el proyecto usando Intellij, con los errores de que no se puede encontrar un símbolo (el símbolo es una clase que importa paquetes del jar local)
Pero puedo construir con éxito el proyecto usando 'mvn package'.
He pasado mucho tiempo buscando soluciones, cosas que ya hice:
- Caché invalidado
- 'mvn clean install' la dependencia del jar local
- Marcado como 'instantáneas de carga automática' en la configuración maven de Intellij
- Maven reimpuesto en Intellij
- Sincronizado
Este error me sucedió un par de veces antes, pero generalmente solo cerrando el Intellij y / o haciendo la 'instalación limpia de mvn' funcionó.
Por favor ayuda.
java
scala
maven
intellij-idea
Yarin Miran
fuente
fuente
Respuestas:
Sé que es tarde, pero la ejecución
mvn idea:idea
resuelve el problema.fuente
mvn idea:idea
no se ha mantenido actualizado y no es mantenido por jetbrainsIntente eliminar todos los archivos .iml y su POM. Luego copie y pegue su POM nuevamente en su proyecto y vuelva a abrirlo y vuelva a importarlo.
fuente
*.iml
,*.ipr
y*.iws
los archivos del directorio raíz del proyecto, a continuación, volver a abrir Intellij fijado para míDescubrí que mi archivo .iml y pom estaban en conflicto y causaban el problema.
fuente
C:\Users\USERNAME\.IntelliJIdea2017.2\system
. Luego, hice ungit clean -xdf
en el directorio de origen para eliminar todos los archivos no versionados y volví a importar el proyecto. Funciona como un encanto ahora.Agregando algunos consejos más, ya que esto es lo primero que surgió en la búsqueda cuando tenía problemas similares (el proyecto se construye en mvn, no en IntelliJ), en caso de que pueda ayudar a alguien más.
Cuando tuve esto, fue una solución diferente en Windows y Mac.
En Mac, entré en ItellijIDEA / Preferences / Build, Execution, Deployment / Build Tools / Maven / Maven Home Directory y lo configuré para usar mi Maven instalado por separado en lugar del Maven incluido. Todos los problemas de construcción desaparecieron.
En Windows, estaba viendo excepciones en el archivo idea.log relacionadas con SSL y mi árbol de proyecto solo tenía Java en la rama de Bibliotecas externas. Al mirar otros sitios, parece que IntelliJ usa su propio JDK privado en lugar del del sistema (aunque en mi caso ya tenía exactamente la misma versión de JDK instalada). Mi sistema JDK tiene certificados instalados en el almacén de claves para el servidor Nexus corporativo que el JDK privado de IntelliJ no tenía, por lo que se lanzaron excepciones cuando intentó obtener archivos de Nexus. Para esto, la solución fue salir de IntelliJ, configurar una variable de entorno llamada IDEA_JDK para apuntar al JDK que ya había instalado que tenía los certificados adecuados y reiniciar IntelliJ. Todos los problemas de construcción desaparecieron.
fuente
Maven
ReImport
trabajó para mí como a continuación ...fuente
IDE usa su propia copia empaquetada de Maven al hacer compilaciones. Si maven en la terminal es diferente de IDE, entonces querrás que sean iguales.
GOTO (en una Mac) - IntelliJ Idea -> Preferencias -> Compilación, ejecución, implementación -> Herramientas de compilación -> Maven. Establezca la ruta para su directorio de inicio de Maven Para encontrar la ruta de Maven que usa desde la terminal, escriba comando
mvn -version
y eso debería imprimir un montón de detalles, incluida la ruta de directorio. Pon eso en Maven Home Directory .Para estar seguro, también puede hacer lo mismo con la ubicación de JDK
==== Algunas otras cosas que pueden causar tales problemas ===
Si está haciendo compilaciones de mvn package o mvn clean install, entonces tiene que hacer algo con las cachés IDE. Entre otras cosas, este suele ayudar con tales errores ->
Archivo -> Invalidar cachés
fuente
Sé que llegué bastante tarde a esta conversación, pero solo quería publicar esto en caso de que alguien más se encuentre con este problema. Otra razón por la que esto sucede es porque no se está refiriendo al repositorio correcto. Intellij recoge la versión empaquetada de un jar de forma predeterminada en lugar de la de su propio repositorio de maven. Confirma que el repositorio conectado es el correcto.
fuente
En mi caso, mi iml no estaba sincronizado, por lo que eliminé el iml para el módulo específico y luego, en la opción maven, seleccioné unignore project para recrear iml
fuente
desde el símbolo del sistema, ejecute el comando:
mvn idea:idea
y haga clic derecho en el proyecto -> desde el menú, vuelva a importar las dependenciasfuente
"No se puede encontrar el símbolo" significa que intellij no puede resolver la "dependencia". Por lo tanto, puede forzar el "Análisis de dependencia" haciendo clic en "Analizar" -> "Analizar dependencias" y luego seleccione el "Alcance del análisis".
fuente
Muchos consejos valiosos en las otras respuestas aquí, solo quiero agregar la solución que funcionó para mi problema .
Recientemente comenzamos a usar un repositorio privado de Maven y siempre lo hacemos
mvn -s settings.xml
cuando invocamos la línea de cmd de Maven. IntelliJ, por supuesto, no conoce el repositorio privado, por lo que necesita un poco de ayuda.Vaya a Configuración -> Generar, Ejecución, Implementación -> Herramientas de compilación -> Maven y anule la opción "Archivo de configuración de usuario".
fuente
Yo tuve el mismo problema. Ir:
Archivo -> Estructura del proyecto -> Módulo . Seleccione su módulo y en la pestaña " Dependencias ", asegúrese de que se agreguen todas las dependencias de maven.
Para asegurarse de que se le advierte sobre un problema similar en el editor de ideas: cambie de la "pestaña Dependencias" a "Fuentes" y agregue marcar su src como fuente.
fuente
Yo tuve el mismo problema. Cambié la versión de Maven de 3.0.5 a 3.0.4 en la configuración de Idea y ahora todo funciona bien. No sé por qué eso me ayuda.
fuente
Intenté invalidar el caché, cambiar el Maven a la versión instalada y nada funcionó.
Cerrar y recrear un nuevo proyecto lo resolvió.
fuente
Cerré el proyecto y lo importé nuevamente haciendo clic en el pom raíz (no solo en la carpeta, sino en el archivo pom en sí).
fuente
Probé todo lo anterior sin alegría. Sin embargo, hice una cosa que finalmente hizo que funcionara:
Fui a C: \ Users \ .IntellijJIdea2018.2 y eliminé toda la carpeta.
Elimina todas las configuraciones y el caché de IntelliJ. Tuve que volver a importar mi proyecto desde cero, pero una simple eliminación y reimportación no había funcionado antes, pero esto finalmente hizo que funcionara nuevamente.
fuente
Si está utilizando gradle, intente el siguiente comando. Esto resolvió mi problema
gradle cleanIdea idea
fuente
Este sencillo procedimiento dura aproximadamente 1 minuto sin ningún riesgo.
fuente
Elimina la carpeta .idea y cierra el IDE
abra el IDE nuevamente e importe el proyecto que hará una nueva importación porque la carpeta .IDEA fue eliminada por nosotros anteriormente
Verifique el módulo de bibliotecas externas y si no está poblado con las dependencias requeridas, verifique si la ubicación de maven settings.xml se proporciona correctamente en el IDE
fuente
También existe una posibilidad que no se mencionó. Si importa la biblioteca desde
com.sun.*
. También causará este problema.Los programas funcionan cuando se ejecutan en ide, ya que estas clases en
com.sun.*
están todas en eljre/lib
directorio, se cargarán cuando se ejecuten. Pero cuando ejecutamvn package
, estas bibliotecas no serán accesibles debido a la restricción de Oracle desde java 1.6 (estas bibliotecas fueron obsoletas de alguna manera). Para resolver este problema, puede agregar<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> <compilerArguments> <verbose /> <bootclasspath>C:/Program Files/Java/jdk1.8.0_161/jre/lib/rt.jar</bootclasspath> </compilerArguments> </configuration> </plugin> </plugins> </build>
recuerde reemplazar el cootclasspath con su propio camino de
rt.jar
Puede buscar
Access restriction: The type XXX is not accessible due to restriction on required library
más detalles.fuente
Si hay módulos erróneos configurados, siga estos pasos:
fuente
fuente
En mi caso, el problema estaba en una versión diferente del SDK de Project Java. Cuando estaba construyendo un proyecto desde la terminal, maven usó Java 8, y cuando estaba construyendo desde IDEA, usó Java 11.
Vaya a Archivo> Estructura del proyecto ... y en Configuración del proyecto, configure el SDK del proyecto en la versión que necesita.
fuente
Para mí, el problema fue que tenía el compilador Ajc seleccionado en la configuración del compilador IntelliJ Java . Una vez que lo cambié de nuevo a Javac, todo funcionó bien.
fuente
Para mí en Mac, lo resolví eliminando la aplicación Intellij Idea de mi computadora y eliminando los archivos de caché en ~ / Library / Application Support / JetBrains / IntelliJIdea2020.1 ~ / Library / Caches / JetBrains / IntelliJIdea2020.1
Luego, vuelva a instalarlo, abra mi proyecto y constrúyalo correctamente.
fuente
Encontré el mismo problema. Puedo ejecutar con éxito el
mvn clean package
comando en la terminal pero no puedo ejecutar o compilar desde IntellJ. Hice las siguientes acciones pero todas fallaron.mvn clean package
omvn clean package
en la terminalmvn clean package
mvn idea:idea
Lo último que hice funcionó: Eliminar el .idea y .iml en el proyecto, eliminar todos los archivos de dependencia y luego eliminar el IntellJ de la computadora. Después de reinstalar el IntellJ, mi proyecto se construyó con éxito. Ojalá pudiera tener una mejor manera de resolver esto.
fuente