J'essaie de comprendre comment faire en sorte qu'Eclipse reconnaisse les dépendances récupérées à l'aide de SBT? SBT télécharge les dépendances correctes et les place dans mon répertoire ~/.ivy mais Eclipse ne les voit pas. Y a-t-il un moyen de faire cela?
merci
Ce n'est probablement pas la réponse que vous recherchez et j'avoue que ce n'est pas élégant mais cela fonctionne actuellement pour moi, ce qui signifie que je pense qu'il me faut moins de temps pour faire périodiquement ce qui suit au lieu de rechercher et de trouver une solution plus élégante.
Je suppose que vous utilisez le plugin sbt-Eclipse ( https://github.com/typesafehub/sbteclipse ). Lorsque j'ajoute de nouvelles dépendances à mon projet (ce qui est en fait assez rare), je régénère simplement mes fichiers de projet Eclipse à partir du plugin. L'inconvénient est que j'ai un projet à plusieurs modules et après avoir actualisé les projets dans Eclipse, j'ai besoin de rajouter les dépendances inter-projets dans l'éditeur de chemin de génération Eclipse.
Comme je l'ai mentionné, c'est assez hacky mais dans l'ensemble, je ne perds pas beaucoup de temps à le faire. Ce n'est pas joli mais ça marche.
Bonne chance, Andy
Si vous utilisez le plugin sbteclipse, c'est réalisable de manière simple. Dans le type sbt:
recharger
Eclipse avec source = true
Ensuite, dans Eclipse, appuyez sur F5 sur un dossier de projet pour le rafraîchir. Ou faites un clic droit et choisissez "Actualiser". Fonctionne juste.
J'utilise le plugin Apache IvyDE pour Eclipse, et j'ai eu plus de chance avec cette approche. C'est seulement décrit dans les anciens documents sbt , mais fonctionne avec sbt 0.11
Tout d'abord, installez le plugin IvyDE dans Eclipse et redémarrez.
Exécutez la commande sbt deliver-local
- cela créera un fichier XML Ivy de vos dépendances.
Dans Eclipse, sous votre projet/propriétés - Java Build Path - Libraries, cliquez sur "Add Library" et choisissez "IvyDE Managed Dependencies" puis sélectionnez le fichier target/scala-2.9.1/ivy- version du projet . xml
Lorsque vous ajoutez une nouvelle dépendance à build.sbt, exécutez les commandes sbt reload
et deliver-local
encore. Cliquez ensuite avec le bouton droit sur la bibliothèque Ivy de votre projet dans l'explorateur de packages - elle s'appellera "target/scala-2.9.1/ivy - version du projet . xml [compiler, tester] ", et cliquez sur le deuxième élément de menu" Actualiser "(entre" Actualiser "et" Paramètres de rechargement "- pas " F5 Actualiser ").
Dans l'invite de commande, accédez au dossier du projet et tapez
sbt Eclipse
Cela devrait générer les entrées . Classpath appropriées dans le projet Eclipse.
Revenez à Eclipse, sélectionnez le projet et appuyez sur f5, cela rechargera les bibliothèques référencées.
Il vous suffit d'exécuter à partir de la maison de votre projet:
sbt "Eclipse with-source=true"
ou entrez sbt
console et écrivez:
Eclipse with-source=true
BTW: Je ne sais pas si depuis janvier 2012 quelque chose a changé mais maintenant cela semble beaucoup plus simple.
Ce qui suit fonctionne pour moi:
1) Fermer le projet dans Eclipse
2) dans mon explorateur de fichiers, accédez à mon projet Eclipse, assurez-vous que les fichiers cachés sont visibles
3) Ouvrez .classpath dans un simple éditeur de texte
4) copiez l'entrée du bas. Par exemple, dans mon projet actuel, c'est <classpathentry path="/home/natalie/.ivy2/cache/org.scalatest/scalatest_2.9.1/jars/scalatest_2.9.1-1.8.jar" kind="lib"></classpathentry>
5) accédez à mon dossier .ivy, cache, puis vers le bas à la bibliothèque que j'ai ajoutée via sbt
6) faites un clic droit sur le fichier jar, sélectionnez les propriétés, copiez le chemin et le nom du fichier jar et remplacez-le dans l'entrée que j'ai copiée à l'étape 4
7) Enregistrer .classpath
8) ouvrir mon projet sur Eclipse
Une nouvelle dépendance est désormais disponible dans Eclipse.