2013-08-17 3 views
2

내가 다음 빌드를 가지고 :SBT 프로젝트 탐색

lazy val stampleSearchProject = RootProject(file("../stample-search")) 


    lazy val main = play.Project(appName, appVersion, appDependencies) 
    .dependsOn(stampleSearchProject) 
    .settings(defaultScalaSettings:_*) 
    .settings(.........) 

stample 검색 프로젝트는 내가 SBT 문서에서 발견 name := "stample-search"

와 build.sbt 파일이 있습니다

을 대화 형으로 프로젝트 탐색 : sbt 대화식 프롬프트에서 프로젝트를 입력하여 프로젝트 및 프로젝트를 나열하고 현재 프로를 선택하십시오. ject. 컴파일과 같은 작업을 실행하면 현재 프로젝트에서 실행됩니다. 따라서 반드시 루트 프로젝트를 컴파일 할 필요는 없으며 하위 프로젝트 만 컴파일 할 수 있습니다.

그러나 SBT 문서는

그래서 나는 시도 (내가 ../my-project를 사용할 수없는 것은, 루트 프로젝트 내에서 프로젝트 경로를 사용하기 위해 필요로 보인다) RootProject를 사용하는 대신 프로젝트를 사용하지 않습니다 이.

[Stample] $ projects 
[info] In file:/home/sebastien/Bureau/Stample/stample-web/ 
[info] * Stample 
[info] In file:/home/sebastien/Bureau/Stample/stample-search/ 
[info]  default-ccdbaa 

은 그래서 두 프로젝트를 나열하는 것 같다하지만 난 내가 뭔가를하지 않는 것

[Stample] $ project Stample 
[info] Set current project to Stample (in build file:/home/sebastien/Bureau/Stample/stample-web/) 

[Stample] $ project default-ccdbaa 
[error] Invalid project name 'default-ccdbaa' in build file:/home/sebastien/Bureau/Stample/stample-web/ (type 'projects' to list available projects). 

[Stample] $ project stample-search 
[error] Invalid project name 'stample-search' in build file:/home/sebastien/Bureau/Stample/stample-web/ (type 'projects' to list available projects). 

프로젝트 명령을 사용하려고 그런 다음이 이름 default-ccdbaa

을하는 곳 알고 싶습니다 일하다. 누군가 내 빌드에 어떤 문제가 있는지 설명 할 수 있습니까? 자세한 내용은

답변

3

, 당신은 아마 SBT 프로젝트 관계 세 가지 종류가 있습니다 Full Configuration (Draft) : Project Relationships

읽을 수 있습니다. 이는 실행, 클래스 경로 및 구성 종속성에 의해 설명됩니다. ...

RootProject은 서브 프로젝트가 아니라 프로젝트 참조를 정의합니다. 따라서 소스 레벨 종속성을 효과적으로 생성하고 있지만 전환 할 수는 없습니다. 더 나은 방법은 일반 Multi-Project build을 사용하는 것입니다.

import sbt._ 
import Keys._ 

object HelloBuild extends Build { 
    lazy val root = Project(id = "hello", 
          base = file(".")) aggregate(foo, bar) 

    lazy val foo = Project(id = "hello-foo", 
         base = file("foo")) 

    lazy val bar = Project(id = "hello-bar", 
         base = file("bar")) 
} 
+0

이 종류의 관련 질문을 확인해주세요. :) http://stackoverflow.com/questions/18452142/sbt-does-not-want-to-enter-my-project-using-project-command –

관련 문제