Cómo hacer que Eclipse reconozca dependencias de SBT


Estoy tratando de averiguar cómo hacer que Eclipse reconozca las dependencias que se recuperan usando SBT? SBT descarga las dependencias correctas y las pone en mi ~/.ivy directory pero Eclipse no los ve. ¿Hay alguna manera de hacer esto?

Gracias

Author: chiappone, 2012-01-31

6 answers

Esta probablemente no es la respuesta que está buscando y admito que no es elegante, pero actualmente funciona para mí, lo que significa que creo que me lleva menos tiempo hacer lo siguiente periódicamente en lugar de investigar y encontrar una solución más elegante.

Asumo que estás usando el plugin sbt-eclipse ( https://github.com/typesafehub/sbteclipse ). Cuando agrego nuevas dependencias a mi proyecto (lo que en realidad es bastante raro ) simplemente regenero mis archivos de proyecto eclipse desde el plugin. La desventaja de esto es que tengo un proyecto de módulo múltiple y después de actualizar los proyectos en eclipse necesito volver a agregar las dependencias entre proyectos en el editor de rutas de compilación de eclipse.

Como mencioné, es bastante hackeado, pero en general, realmente no pierdo mucho tiempo haciéndolo. No es bonito, pero funciona.

La mejor de las suertes, Andy

 30
Author: Andrew,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-01-30 20:47:29

Si está utilizando sbteclipse plugin es alcanzable de una manera sencilla. En el tipo sbt:

Recargar
eclipse with-source = true

Luego, en eclipse, presione F5 en una carpeta de proyecto para actualizarla. O haga clic derecho y elija "Actualizar". Sólo funciona.

 85
Author: Arty,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-12-07 07:03:25

Utilizo el plugin Apache IvyDE para Eclipse, y he tenido más suerte con este enfoque. Solo se describe en los antiguos documentos de sbt, pero funciona con sbt 0.11

Primero, instale el complemento IvyDE en Eclipse y reinicie.

Ejecute el comando sbt deliver-local - esto creará un archivo XML ivy de sus dependencias.

En Eclipse, en su Proyecto / Propiedades - Ruta de compilación de Java-Bibliotecas, haga clic en " Agregar biblioteca "y elija" Dependencias administradas de IvyDE" file target / scala-2.9.1 / ivy - projectversion.xml

Cuando añades una nueva dependencia a compilar.sbt, ejecute los comandos sbt reload y deliver-local de nuevo. Luego haga clic derecho en la biblioteca Ivy para su proyecto en el Explorador de paquetes - se llamará " target / scala-2.9.1 / ivy - projectversion.xml [compile,test]", y haga clic en el segundo elemento de menú" Refresh "(entre" Refresh "y" Reload Settings " - no" F5 Refresh").

 14
Author: cathalmcginley,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-02-01 20:09:32

En el símbolo del sistema, vaya a la carpeta del proyecto y escriba

sbt eclipse

Esto debería generar el apropiado.entradas classpath en el proyecto eclipse.

Vuelva a eclipse, seleccione el proyecto y presione f5, esto recargará las bibliotecas referenciadas.

 7
Author: aspdeepak,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-01-13 09:19:40

Las siguientes obras para mí:

1) cerrar proyecto en Eclipse

2) en mi explorador de archivos, vaya a mi proyecto Eclipse, asegúrese de que los archivos ocultos estén visibles

3) abierto .classpath en un editor de texto simple

4) copie la entrada inferior. Por ejemplo, en mi proyecto actual, es <classpathentry path="/home/natalie/.ivy2/cache/org.scalatest/scalatest_2.9.1/jars/scalatest_2.9.1-1.8.jar" kind="lib"></classpathentry>

5) vaya a mi .carpeta ivy, caché, luego a la biblioteca que he añadido a través de sbt

6) haga clic derecho en el archivo jar, seleccione propiedades, copie la ruta y el nombre del archivo jar y reemplazarlo en la entrada que copié en el paso 4

7) guardar .classpath

8) abrir mi proyecto en Eclipse

Ahora hay una nueva dependencia disponible en Eclipse.

 0
Author: FreewheelNat,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-05-09 17:15:45

Todo lo que necesitas es ejecutar desde tu proyecto inicio:

sbt "eclipse with-source=true"

O ingrese sbt consola y escriba:

eclipse with-source=true

Por cierto: No se si desde enero del 12 algo ha cambiado pero ahora parece mucho más simple.

 0
Author: freedev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-12 23:38:24