2017-12-16 17 views
0
lazy val xxxRoot = (project in file(".")) 
    .aggregate(projectA, projectB, projectC) 

lazy val xxxSettings = Seq(
    organization := "com.xxx", 
    version := "1.0-SNAPSHOT", 
    scalaVersion := "2.11.8" 
) 

lazy val projectA = (project in file("pa")) 
    .settings(xxxSettings: _*) 

val projectB = (project in file("pb")) 
    .settings(xxxSettings: _*) 
    .dependsOn(projectA) 

lazy val projectC = (project in file("pc")) 
    .settings(xxxSettings: _*) 
    .enablePlugins(PlayJava) 
    .enablePlugins(SbtWeb) 
    .enablePlugins(play.PlayScala) 
    .dependsOn(projectA) 

여기 내 루트는 build.sbt입니다.
내 문제는 다음과 같습니다.activator dist는 내 프로젝트를 포장하지 않습니다.

액티베이터 dist를 실행할 때. sbtprojectAprojectC을 컴파일하지만 projectB은 그대로 둡니다. projectB은 다른 프로젝트의 종속성이 아니며 게임 응용 프로그램이 아니기 때문에 발생할 수 있습니다.

projectAprojectC의 jar 패키지를 얻을 수 있습니다. 그러나 projectB의 병은 pb/build.sbt이 무엇이든 상관없이 항상 컴파일되지 않았습니다. sbtprojectB으로 컴파일하고 액티베이터 dist를 사용하여 패키지하는 방법을 알고 싶습니다.

답변

0

문제는 서브 프로젝트가 없음 dependsOnprojectB입니다. 아마도 대신 projectCdependOnprojectB이 될까요?

lazy val projectC = (project in file("pc")) 
    .settings(xxxSettings: _*) 
    .enablePlugins(PlayJava) 
    .enablePlugins(SbtWeb) 
    .enablePlugins(play.PlayScala) 
    .dependsOn(projectB)