comment puis-je obtenir sbt pour rassembler tous les fichiers jar mon code dépend dans un seul endroit?
Je suis nouveau sur sbt. Je veux mettre toutes les dépendances pot de mouches ainsi que mon fichier jar dans un seul endroit. TRIBUNAL exécuter l'application, mais j'ai des diverses dépendances éparpillés autour de et un .ivy dossier plein de choses mon fichier jar dépend indirectement. donc, il y a une commande simple pour copier tous dans un seul endroit afin que je puisse les distribuer à une autre machine?
- Oui, c'est une vraie douleur. Peut-être que j'ai raté quelque chose, mais je ne comprends vraiment pas pourquoi ce n'est pas une partie de Simple Outil de construction
- Je pense qu'il y a de nombreuses façons de le faire que de prendre une et à la normalisation, il pourrait être préjudiciable (mais en pratique je suis d'accord).
Vous devez vous connecter pour publier un commentaire.
Il existe de nombreux plugins, vous pouvez utiliser: sbt-assemblée, sbt-proguard, sbt-onejar, xitrum-paquet etc.
Voir le liste des plugins SBT.
Ajoutez la ligne suivante à votre
build.sbt
fichier.Cela permettra de rassembler les dépendances localement
sbt compile
rassemble les dépendances souslib_unmanaged/
.Créer une tâche dans votre build fichier comme ceci:
Ajouter la Tâche à un Projet comme celui-ci:
Dans le SBT type de console:
evicted
pour plus d'informations. Vous pouvez faire quelque chose comme (pseudo-code) "allFiles supprimé", mais c'est loin d'être négligeable. Vous aurez à plonger en profondeur dans le SBT API.Essayer sbt-pack de plugin https://github.com/xerial/sbt-pack, qui rassemble tous dépendants les pots dans la cible/pack dossier et génère également de lancer les scripts.
Vous pouvez également essayer de SBT Natif de l'Emballeur: https://github.com/sbt/sbt-native-packager (sbt 0.7+)
C'est encore un WIP, mais il sera utilisé dans le Jeu Cadre 2.2 dans les semaines à venir.
Avec cela, vous pouvez créer autonome des fichiers ZIP, les paquets Debian (DEB), Windows packages d'installation (MSI), DMG, TR /min, et ainsi de suite.
sbt stage
pour obtenir les fichiers danstarget/universal/stage
Le TRIBUNAL docs ont un liste de "Un Pot Plugins":
Peut que vous la recherche de ce sbt plugin: https://github.com/anvie/sbt-onedir-plugin