with started program para intellij instalar imports getting first configurar scala intellij-idea sbt ivy

scala - started - intellij/activator/sbt está descargando dependencias previamente descargadas por el otro



scala intellij imports (2)

Primero, el activador es solo un lanzador para SBT, por lo que no debería haber diferencias en el comportamiento.

En segundo lugar, IntelliJ también usa los archivos en ~/.ivy2 de forma predeterminada si no lo ha dicho de otra manera (al establecer la variable de entorno SBT_OPTS, por ejemplo, pero eso depende de su versión de IntelliJ).

Si utiliza diferentes versiones de scala (p. Ej., 2.10.x vs. 2.11.x), es posible que no haya una diferencia cuando no haya configurado scalaVersion en su proyecto de forma explícita. Luego, cada herramienta descargaría las bibliotecas correspondientes a la versión de scala adecuada que se haya configurado de forma predeterminada.

Otra cosa es que IntelliJ descargará los archivos de origen y javadoc para cada dependencia si ha habilitado eso en su configuración que podría parecer que descarga las dependencias nuevamente.

Tenga en cuenta que estoy adivinando aquí porque no ha incluido ningún resultado de los programas que está utilizando, por lo que es difícil decir cuál es el problema real.

No soy un experto en sbt, por lo que probablemente mi pregunta sea un poco noob, pero me he dado cuenta de que cuando creo un proyecto y descargo sus dependencias con sbt, si abro el proyecto con intellij, todas las dependencias se vuelven a descargar, lo mismo sucede en el orden inverso intellij-> sbt y también activador ..

mi (escaso) conocimiento sobre sbt es que este uso es hiedra y las dependencias se descargan en la carpeta ~ / .ivy2 / ... ahí es donde sbt está descargando mis deps, pero parece que intellij está usando otra carpeta.

personalmente no uso mucho activador, pero me gustaría configurar sbt e intellij para usar la misma ruta de hiedra ...

2) Recientemente publiqué finagle-postgre en mi hiedra local usando sbt + publishLocal, puedo revisar mi carpeta de hiedra

/home/yo/.ivy2/local/com.twitter/finagle-postgres_2.11/0.1.0-SNAPSHOT

pero desafortunadamente, intellij no puede resolver esta dependencia, intento agregar esta línea a mi compilación

resolvers += Resolver.file("Local", file( Path.userHome.absolutePath + "/.ivy2/local"))(Resolver.ivyStylePatterns)

pero parece que no funciona

3) la ruta donde se descargan las dependencias está relacionada con el archivo sbt-launch.jar? ¿Cómo puedo saber qué archivo sbt-lauch.jar está usando sbt en este momento ...

¡gracias chicos!


Si estamos hablando de que IntelliJ parece que descarga artefactos después de que SBT / Activator ya los ha descargado, entonces resulta que es probable que IntelliJ esté descargando las fuentes ; acompáñalos

Esto no es evidente cuando está viendo la tarea del Refreshing SBT project en la ventana emergente Background Tasks en Background Tasks , porque la ruta de descarga completa está truncada, por lo que verá algo como esto:

[info] downloading https://repo1.maven.org/maven2/org/apache/httpcompo...

.. es natural suponer que este es el mismo artefacto binario que ya vio descargar SBT en la consola, pero puede ver la historia completa si revisa el registro completo (vaya a Help -> Show Log in files sbt.last.log Show Log in files y abra sbt.last.log en el buscador de archivos).

Verás que los únicos artefactos que se descargan finalizan con -sources.jar :

$ grep repo1.maven.org /home/roberto/.IntelliJIdea2016.3/system/log/sbt.last.log [info] downloading https://repo1.maven.org/maven2/org/apache/httpcomponents/httpclient/4.3.6/httpclient-4.3.6-sources.jar ... [info] downloading https://repo1.maven.org/maven2/com/googlecode/javaewah/JavaEWAH/0.7.9/JavaEWAH-0.7.9-sources.jar ... [info] downloading https://repo1.maven.org/maven2/org/pegdown/pegdown/1.2.1/pegdown-1.2.1-sources.jar ... [info] downloading https://repo1.maven.org/maven2/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3-sources.jar ...

`` `

Si no tiene activada la casilla de verificación de Sources cuando está haciendo el Import project , estas descargas de fuentes no se realizarán.

probado utilizando IntelliJ 2016.3.5 y el complemento Scala v2016.3.9