2015-05-20 12 views
8

Ich habe ein Multi-Projekt-Build und ich versuche, das Glas mit einem Vermögen von SBT-Bahn an die Classpath des Startskriptsbt-Web-Ressourcen jar classpath von sbt-native-Verpacker hinzufügen

erzeugt hinzufügen

Das Projekt, das mich interessiert, heißt website.

Eingabe show website/web-assets:packageBin in sbt erstellt und zeigt das Glas mit den Assets. Ich habe versucht, in (managedClasspath in website) += website/web-assets:packageBin setzen, aber das bedeutet nicht kompilieren:

path/to/build.sbt:58: error: value/is not a member of sbt.Project

managedClasspath in website += website/web-assets:packageBin

Wie kann ich das Glas mit einem Vermögen schaffen, wenn ich auf die Bühne Aufgabe ausführen, und legen Sie es auf dem Classpath des Startskript

Antwort

2

Sie mischen sbt-console Befehle mit build.sbt Befehlen.

Die sbt-web docs gibt ein klares Beispiel dafür, wie man es für ein einzelnes Projekt zu tun:

(managedClasspath in Runtime) += (packageBin in Assets).value 

So, jetzt wir das Gleiche für ein Multi-Modul-Build zu tun. Vorausgesetzt Sie haben eine build.sbt haben, wie dieses Ich habe nicht direkt getestet

val root = (project in ".") 
     .aggregate(common, website) 

val common = (project in "commons") 
     .settings(
     libraryDependencies ++= Seq(...), 
     ... 
    ) 

val website = (project in "commons") 
     .enablePlugins(JavaServerAppPackaging, SbtWeb) 
     .settings(
     // ------ You configure it like a single module project 
     (managedClasspath in Runtime) += (packageBin in Assets).value 
     // ---------------------------------------------------- 
    ) 
     .dependsOn(common) 

sieht aus, als ich nicht Ihre genaue Konfiguration kennen. Dies sollte Ihnen jedoch die richtige Richtung geben.

Verwandte Themen