Obteniendo dependencias de Gradle en IntelliJ IDEA usando la construcción de Gradle

140

La compilación de calificaciones, incluso desde el interior de IntelliJ IDEA, no coloca las dependencias en la carpeta "Bibliotecas externas", por lo que estas clases no aparecen como sugerencias en el editor y cuando las agrego manualmente como una importación hay un error de compilación.

¿Cómo puedo hacer que IntelliJ incorpore automáticamente las dependencias en mi archivo build.gradle , por ejemplo:

compile 'com.google.code.gson:gson:1.7.2

Andrés
fuente
2
Importe el proyecto como un proyecto de gradle, asegúrese de tener habilitado el soporte de gradle.
M. Deinum

Respuestas:

192

Debe importar el proyecto como un proyecto de Gradle desde Idea. Cuando agrega una dependencia, necesita abrir la ventana de Gradle y realizar una actualización.

Alternativamente, genere los archivos del proyecto desde gradle con esto:

build.gradle:

apply plugin: 'idea'

Y luego corre:

$ gradle idea

Si modifica las dependencias, deberá volver a ejecutar lo anterior nuevamente.

tddmonkey
fuente
apply plugin: 'idea'debe agregarse en cualquier caso.
Peter Niederwieser
@PeterNiederwieser: si está importando desde Idea, ¿qué efecto tiene?
tddmonkey
Permite configurar varios aspectos de la configuración de IntelliJ (por ejemplo, qué JDK usar), que debe ser respetado por la importación. Si su compilación no tiene dicha configuración, puede que no sea necesario aplicar el complemento (nunca lo he intentado sin él).
Peter Niederwieser
gracias, es bueno saberlo, uso exclusivamente gradle para generar los archivos del proyecto para mí, así que nunca necesité hacer esto
tddmonkey
Lo mismo ocurre al generar archivos de proyecto, excepto que la aplicación del complemento definitivamente no es opcional en ese caso.
Peter Niederwieser
189

Después de agregar dependencias, abra la pestaña "Gradle" ('Ver' -> Herramienta Windows-> Gradle) y presione "actualizar"

ejemplo de agregar (compilar 'io.reactivex: rxjava: 1.1.0'):

golpe refrescar

Si Idea aún no puede resolver la dependencia, entonces es posible que la dependencia no esté en el repositorio mavenCentral () y necesita agregar un repositorio donde esta dependencia se encuentra en los repositorios {}

Andrey
fuente
13
Pero parece que no funciona. Agregué una dependencia y la actualicé, pero cuando trato de importar la biblioteca en código fuente XML o Java, IDEA no puede resolverla.
AuBee
3
Trabajó para mi. Afortunadamente, incluso sin usar el complemento idea gradle.
gMale
2
@AuBee: tuve el mismo problema. Se fue cuando construí (solo una vez) usando Gradle desde la línea de comando.
Thomas
@Thomas Sí. CLI siempre tiene más control
Andrey
@AuBee Si Idea no puede resolver la dependencia, por lo tanto es posible que la dependencia no esté en el repositorio mavenCentral () y también necesita agregar el repositorio en los repositorios {}
Andrey
20

Al importar un proyecto Gradle existente (uno con a build.gradle) en IntelliJ IDEA, cuando se le presente la siguiente pantalla, seleccione Importar desde modelo externo -> Gradle .

Importar proyecto desde modelo externo

Opcionalmente, seleccione Importación automática en la siguiente pantalla para importar automáticamente nuevas dependencias.

Qix - MONICA FUE MALTRATADA
fuente
3
En realidad, esta respuesta resolvió mi problema y debería ser lo primero que haga antes de la respuesta correcta real anterior.
quickinsights
3
Esta es la única solución que realmente funciona y es correcta. Agregar algo a gradle.properties solo por idea es simplemente incorrecto.
user219882
No pude hacer que el resaltado de sintaxis y el autocompletado funcionen sin realizar este paso en la importación original. Es posible que pueda solucionarlo sin volver a importarlo, pero esto es mucho más fácil, al menos en un proyecto pequeño.
Ed Norris
@ user219882: ¿por qué agregar algo a su compilación es "completamente incorrecto"?
tddmonkey
@tddmonkey porque el IDE que un usuario elige usar es irrelevante para describir cómo se lleva a cabo una compilación.
Qix - MONICA FUE MALTRATADA el
11

Para aquellos que reciben el error "No se pueden resolver las dependencias":
desactive el "Modo sin conexión"
('Ver' -> Herramienta Windows-> Gradle)

ventana de gradle

Jingxuan Zhou
fuente
5

La publicación anterior de Andrey sigue siendo válida para la última versión de Intellij a partir del tercer trimestre de 2017. Así que úsala. Porque, el proyecto de compilación y la construcción de gradle de línea de comando externa, NO lo agrega a las dependencias externas en Intellij ... loco como eso suena, es cierto. La única diferencia ahora es que la interfaz de usuario se ve diferente a la anterior, pero aún se utiliza el mismo icono para la actualización. Solo estoy poniendo una respuesta aquí, porque no puedo pegar una instantánea de la nueva interfaz de usuario ... No quiero ningún voto por sí mismo. Andrey todavía dio la respuesta correcta arriba: ingrese la descripción de la imagen aquí

Beezer
fuente
1

En mi caso, recibí un error al actualizar la pestaña Gradle ('Ver' -> Herramienta Windows-> Gradle) y presioné "actualizar" y obtuve este error sin la propiedad de la versión gradle para la clase jetgradleplugin.

Tuve que instalar el último intellij compatible con gradle 5+

Saurabh
fuente