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.
-
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
-
Agregue
addSbtPlugin("io.get-coursier" % "sbt-coursier" % "1.0.3")
al archivobuild.sbt
su proyecto-
O instálelo globalmente en
~/.sbt/1.0/plugins/build.sbt
-
O instálelo globalmente en
-
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.
- (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: