tutorial intellij idea how scala intellij-idea import sbt

scala - idea - IntelliJ no puede importar proyecto sbt



sbt scala (13)

He sufrido los mismos problemas después de actualizar intelliJ a 2017.3 Pero ahora funciona bien.

Creo que intelliJ no pudo pasar la opción '' Sin proxy para '' a sbt. así que agregué

-Dhttp.nonProxyHosts = "host1 | host2"

opción en Archivo> Configuración> Compilación, ejecución, implementación> sbt> parámetros de VM

He actualizado IntelliJ a la versión CE 2017.3 desde un CE 2017.2.5, y ahora no puedo construir mi proyecto sbt. La construcción se atasca en el primer paso:

"Build: sync MyProjName: syncing... dump project structure from sbt"

He eliminado el directorio .idea y el directorio MyProjName/project/target . Hice una compilación sbt desde la línea de comandos, que funcionó. Luego comencé IntelliJ nuevamente e intenté importar MyProjName/build.sbt como proyecto. También he cerrado sesión /. Hice esto varias veces. La importación nunca progresa más allá de este paso.

Trabajo detrás de un cortafuegos, pero he comprobado la configuración de mi proxy, y son correctos y no han cambiado desde la versión anterior (si esto es importante).

¿Cómo puedo solucionar / solucionar esto?

La versión sbt es 0.13.6. Complemento Scala 2017.3.10.

Del registro:

IDE: IntelliJ IDEA (build #IC-173.3727.127, 27 Nov 2017 09:32) OS: Windows 7 (6.1, amd64) JRE: 1.8.0_152-release-1024-b6 (JetBrains s.r.o) JVM: 25.152-b6 (OpenJDK 64-Bit Server VM)


IntelliJ parece limitar la eficiencia de la sbt update ya es lenta. Recomiendo usar sbt-coursier en sbt-coursier lugar. Fue escrito específicamente para mejorar el tiempo de actualización de la dependencia, y en un gran proyecto en el que estoy involucrado, mejoró el tiempo de actualización de la dependencia en aproximadamente 2 órdenes de magnitud.

  1. Desmarque "Usar importación automática" en Preferences > Build, Execution, Deployment > Build Tools > sbt para evitar que IntelliJ actualice automáticamente las importaciones por sí mismo

  1. Agregue addSbtPlugin("io.get-coursier" % "sbt-coursier" % "1.0.3") al archivo build.sbt su proyecto
    • O instálelo globalmente en ~/.sbt/1.0/plugins/build.sbt
  2. Ejecute sbt update en la línea de comando

Si ve [error] java.lang.NoClassDefFoundError: org/vafer/jdeb/Console , agregue lo siguiente a ~/.sbt/1.0/sbt-coursier.sbt .

import coursier.Keys._ classpathTypes += "maven-plugin"

Consulte el número de curso nº 450 para obtener más información sobre ese error.

  1. (Opcional) Vuelva a habilitar la importación automática desde el paso 1, ya que las actualizaciones de dependencia transaccional posteriores pueden ser más rápidas.

La única forma en que pude evitar esto fue ejecutando sbt clean compile en la consola SBT / línea cmd primero, y luego actualizando el proyecto SBT en IntelliJ.


La versión SBT personalizada funciona para mí.

Preferencias de IntelliJ IDEA -> Build, Execution, Deployment -> Build Tools -> sbt -> Launcher

Elija personalizado


Lo que funcionó para mí fue aumentar la memoria para SBT dentro de IntelliJ. En mi Mac: preferencia -> Build, Execution, Depoyment -> sbt luego cambia el "Tamaño máximo de almacenamiento dinámico" de 768MB a 2048MB y luego todo se importó con éxito después de unos minutos.


Me encuentro con el mismo problemaļ¼ Elimino el directorio ~ / .sbt / 0.13, luego funciona. Puede eliminar el directorio sbt que utilizó.


No he encontrado una manera de hacer que esto funcione en IntelliJ Idea CE 2017.3, así que he vuelto a CE 2017.2.5


Para mí, simplemente comprobando use sbt shell for both build and imports funcionó.


Resolví el problema de sincronización siguiendo la información aquí: https://youtrack.jetbrains.com/issue/SCL-13024

La información clave es "Parece que sbt está tratando de volver a resolver ''fuentes'' y ''documentos'' para complementos sbt que no están disponibles en absoluto. Si las propiedades para descargar" Fuentes de biblioteca "y" fuentes sbt "están deshabilitadas, entonces es hora de volcar la estructura se reduce de ''para siempre'' a menos de 1 minuto ".

Es decir, en IntelliJ IDEA, desactive la casilla de verificación "Fuentes de biblioteca" en "Configuración de nivel de proyecto" para Build Tools sbt en las preferencias de IDEA. Como se muestra en la imagen a continuación:


Simplemente desmarcar ''sbt sources'' hizo el truco para mí


También estaba enfrentando este problema. A continuación, dos configuraciones funcionaron para mí. Intenté confirmar esta configuración en muchos proyectos nuevos de sbt, por todo lo que funcionó.

(1) desmarque "Fuentes de biblioteca" en "Configuración de nivel de proyecto" para Build Tools sbt en IDEA preferencias (2) -Dhttp.nonProxyHosts = "host1 | host2" opción en Archivo> Configuración> Generar, Ejecutar, Implementar> sbt> Parámetros VM


Tenía un proyecto más antiguo que causaba este problema. Hizo el rm -rf .idea + rm -rf .idea habitual pero se quedó atascado. Intenté todo tipo de cosas, pero cuando finalmente lo arreglé para mí, no solo estaba borrando la carpeta de target nivel superior, sino haciendo

find . -name target -type d -exec rm -rf {} /;

La siguiente apertura / importación fue perfecta. (Esto fue en 2018.1.5, 2018.1.6 y 2018.2 RC.)


  • Abra una terminal dentro de IDEA presionando Alt F12 o use sbt shell
  • Ejecute sbt : si es la primera vez, llevará algún tiempo.
  • Correr clean
  • Ejecutar compile : descargará las dependencias que tenga en su proyecto.
  • Cierre el proyecto IDEA ( File -> Close Project ) y ábralo nuevamente.

Nota: si solicita importar en la parte inferior derecha de la pantalla, active Enable auto-import , si no desea mantenerla habilitada (como yo), presione Import , cancele la sincronización y luego Refresh sbt project nuevamente. Cuando intenta utilizar la importación en medio de una sincronización, se atasca con la estructura del proyecto de volcado del mensaje sbt .

El Refresh sbt project se encuentra en esta esquina de la ventana Build Sync, resaltada a continuación: