web-dev-qa-db-fra.com

sbt: Comment puis-je ajouter un pot de système de fichiers local à mon projet?

J'ai une bibliothèque compilée dans un bocal (pas un projet sbt, juste le fichier jar) qui n'est pas disponible sur un référentiel.

Existe-t-il un moyen simple d'ajouter directement une référence au bocal dans le système de fichiers/projet?

52
Jeff Axelrod

Vous pouvez mettre le pot dans le dossier lib de votre projet (créez-le s'il n'existe pas), il apparaîtra alors sur le chemin de classe non managé de votre projet.

Pour publier un fichier jar localement, si vous avez un projet sbt qui produit le jar, cela devrait être aussi simple que d'appeler "publish-local" pour publier le jar dans votre dépôt ivy local afin que vous puissiez utiliser ce jar dans un autre vos projets (sur le même ordinateur).

54
Fred Dubois

Votre projet SBT doit être structuré comme suit:

README.md
build.sbt
project/
src/
target/

Créer un lib/ répertoire pour ajouter un fichier JAR (par exemple spark-daria_2.11-0.2.0.jar) au projet:

README.md
build.sbt
lib/
  spark-daria_2.11-0.2.0.jar
project/
src/
target/

L'emplacement du lib/ le répertoire doit s'aligner sur la sortie du sbt "show unmanagedBase" commande.

Actualisez le projet dans votre IDE et importez le code comme vous importeriez une dépendance externe.

import com.github.mrpowers.spark.daria.sql.DataFrameValidator
13
Powers