L'obtention de sbt-travail de l'assemblée
Donc à présent, j'ai été la compilation de mon projet Scala avec SBT (via Typesafe pile). Je veux exécuter le code sur plusieurs machines, par sbt-assemblée. En suivant les indications, la seule modification que j'ai faite a été dans mon project/Build.scala
fichier. Ici est la partie connexe:
resolvers += "Typesafe Releases" at "http://repo.typesafe.com/typesafe/releases",
resolvers += "artifactory" at "http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-releases",
libraryDependencies += "com.eed3si9n" % "sbt-assembly" % "0.8.3"
Quand je lance sbt compile
cependant, j'ai cette erreur:
sbt.ResolveException: unresolved dependency: com.eed3si9n#sbt-assembly/scala_2.9.1/sbt_0.11.2;0.8.3: not found
.
Ce que je fais mal?
Merci!
MODIFIER
Créé un build.sbt
fichier dans le même dossier que Build.scala
(dossier est /project/
) et ces deux lignes:
Seq[Setting[_]](resolvers += "artifactory" at "http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-releases",
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.8.3"))
Maintenant l'erreur est:
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: UNRESOLVED DEPENDENCIES ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: com.eed3si9n#sbt-assembly;0.8.3: not found
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn]
[warn] Note: Some unresolved dependencies have extra attributes. Check that these dependencies exist with the requested attributes.
[warn] com.eed3si9n:sbt-assembly:0.8.3 (sbtVersion=0.11.2, scalaVersion=2.9.1)
[warn]
[error] {file:/Users/myname/current/projectname/project/}default-d7da9a/*:update: sbt.ResolveException: unresolved dependency: com.eed3si9n#sbt-assembly;0.8.3: not found
EDIT 2
Hm, après je fais une réussite sbt compile
, devrais-je être capable d'entrer dans le sbt
console et tapez dans assembly
?
> assembly
[error] Not a valid command: assembly
[error] Not a valid project ID: assembly
[error] Not a valid configuration: assembly
[error] Not a valid key: assembly
[error] assembly
[error]
MODIFIER 3 JK a obtenu. Dû ajouter le build.sbt
infos tel que spécifié dans le GitHub README.
OriginalL'auteur adelbertc | 2012-06-11
Vous devez vous connecter pour publier un commentaire.
Il ya deux points ici. L'une est que SBT plugins ne sont pas juste dépendances de la bibliothèque-en particulier, ils utilisent la SBT version de la même manière que d'autres Scala bibliothèques de l'utilisation de la Scala version. L'autre est que
libraryDependencies
dansproject/Build.scala
affecte les dépendances pour le projet, pas pour le construire.Un SBT version complète en elle-même est un SBT projet, situé à un niveau plus bas de l'arborescence du répertoire, et peut donc être construit de ses propres configurés de la même façon normale de construire est. Contrairement à une normale de construire, où aller pour une "version complète" est nécessaire, en vertu d'une poignée de circonstances, il n'est presque jamais une raison d'utiliser une version complète pour une de construire, afin de l'utiliser
.sbt
fichiers situés dansproject/
est presque toujours suffisante.L'autre problème est la gestion des versions. SBT a une fonction utilitaire appelé
addSbtPlugin
qui s'occupe de tout pour vous. Il faut un moduleID et ajoute tous les SBT et Scala informations de contrôle de version.Donc, pour obtenir sbt-travail de l'assemblée dans une version complète, vous créez un
.sbt
fichier dans le sousproject/
(conventionnellement, soitproject/build.sbt
ouproject/plugins.sbt
) et le lieu de votre génération résolveurs et dépendances:addSbtPlugin
? Que ferais-je poursbt-assembly
?addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.8.3")
, de sorte que la partie de votre build.scala qui traite avec des paramètres devrait ressembler à: Seq [[_]] (résolveurs += ..., résolveurs += ..., addSbtPlugin(...))`En fait, soudain, elle se présente à moi de ce que vous pourriez mettre dans le mauvais fichier tout à fait. Si c'est le project/Build.scala, puis à la mettre en il n'y aura rien de bon à tous (il déclarera que votre code source dépend de sbt-assemblée, et non pas le projet). Pour rendre le projet de l'utiliser, mettez les paramètres pour qu'il soit dans un projet/construire.sbt ou de projet/project/Build.scala (de préférence à l'ancienne, comme il n'y est presque jamais une raison d'utiliser une version complète pour le projet de méta-construction).
Hm, je fais le
Seq[Setting[_]]
sur l'ensemble de lasettings
cession, ou juste la partie pour lesbt-assembly
plugin? MODIFIER venez de recevoir votre nouveau message.. permettez-moi d'essayer de nouveau.Donc dois-je viens de créer un
build.sbt
dans le même dossier que monBuild.scala
de fichiers, d'ajouter ces 2 lignes, puis fairesbt compile
?OriginalL'auteur RM.