2015-10-18 37 views
3

我有一个根项目包含3个子项目加上sbt配置文件,没有别的。 2个主要子项目被称为serverbackend,另一个被称为common并且是两个主要项目的相关性。 server是PlayFramework项目。 backed项目被配置为生成汇编jar到资源目录server从其他子项目触发SBT程序集

正确生成罐子和服务器能够看到它,但我不知道怎么办好,从backendassembly任务时server编译(即我希望服务器取决于backend.jar组装)

/* [...] */ 

lazy val commonSettings = Seq(
    version := "0.1", 
    organization := "org.example", 
    scalaVersion := "2.11.7" 
) 

lazy val server = (project in file("server")).enablePlugins(PlayJava).settings(commonSettings: _*).settings(
    name := """example""", 
    libraryDependencies ++= Seq(
    /* [...] */ 
), 
    /* [...] */ 
    unmanagedResourceDirectories in Compile += { baseDirectory.value/"resources" } 
).dependsOn(common) 


lazy val backend = (project in file("backend")).settings(commonSettings: _*).settings(
    assemblyJarName in assembly := "backend.jar", 
    assemblyOutputPath in assembly := server.base/"resources/backend.jar", 
    libraryDependencies := Seq(

) 
).dependsOn(common) 

lazy val common = (project in file("common")).settings(commonSettings: _*) 

onLoad in Global := (Command.process("project server", _: State)) compose (onLoad in Global).value 
+1

编译服务器<< =(编译服务器)dependsOn(装配在后端) – pfn

回答

1

感谢@pfn我得到它的工作作出评论。有一件事我需要做的是插入服务器子项目设置这一行,改变serverCompile,所以它现在是:

(compile in Compile) <<= (compile in Compile) dependsOn (assembly in backend)