2014-09-10 5 views
1

내가 가진 : "쇼핑"이라고마찬가지로 play2 역

  • 주요 프로젝트
  • 서브 프로젝트는

내가보기를 사용하고 싶습니다 서브 프로젝트 내부의 메인 프로젝트에서. 하위 프로젝트 컨트롤러 내 코드 :

package controllers.shopping; 

public class Application extends Controller { 

    public static Result index() { 
     return ok(views.html.confirmation.render("ok")); 
    } 
} 

그리고 일반적인 서브 모듈 내 주요 빌드 파일

lazy val shopping = project.in(file("modules/shopping")) 

val main = project.in(file(".")) 
    .dependsOn(shopping).aggregate(shopping) 

내 모델 클래스 :

@Entity 
public class AppMode { 
    public static AppMode getCurrentConfigurationEntry() { 
     return JPA.em().find(AppMode.class, 1L); 
    } 
} 

답변

1

주에 의존성을 추가 쇼핑에 의존하기 때문에 다른 방법으로도 순환 종속성을 생성하므로 sbt는 어느 프로젝트를 먼저 빌드해야하는지 알 수 없습니다.

쇼핑 및 메인 모두에서 의존하는 두 번째 서브 프로젝트로 원하는 로직을 분리하면 쇼핑 및 메인 모두에서 액세스 할 수 있습니다.

+0

그래서 모든 공유 (모든 하위 모듈 간) 논리에 대해 "기본"하위 프로젝트를 만들 것을 제안합니다. 그렇다면 첫 번째 프로젝트 (모듈 디렉토리가 아닌)에 무엇을 넣어야합니까? – masterdany88

+0

"main"이라기보다는 "common"이라고 부르는 것이 좋습니다. 아마 루트 프로젝트를 소스가없는 슈퍼 프로젝트와 실제 코드가있는 서브 모듈로 유지하려고합니다. (나는 이것이 멀티 모듈 sbt 프로젝트로 작업하는 가장 좋은 방법이라고 주장한다) – johanandren

+0

당신의 도움에 감사드립니다. 나는 당신의 지시를 따를 것입니다 : D – masterdany88