2015-01-16 7 views
1

우리는 Play 프레임 워크 2.3.7을 사용하고 있고 4 개의 모듈로 구성된 sbt (sbt 버전 0.13.5)로 다중 프로젝트를 설정했습니다. 우리가 오류없이 응용 프로그램을 컴파일Play 2.3.7 sbt 다중 프로젝트 컴파일러 문제

activator run 

우리의 응용 프로그램을 실행하려는 경우

lazy val common = (project in file("modules/common")).enablePlugins(PlayJava, SbtWeb) 

lazy val store = (project in file("modules/store")).enablePlugins(PlayJava, SbtWeb).dependsOn(common) 

lazy val catalog = (project in file("modules/catalog")).enablePlugins(PlayJava, SbtWeb).dependsOn(common) 

lazy val backend = (project in file("modules/backend")).enablePlugins(PlayJava, SbtWeb).dependsOn(common) 

lazy val root = (project in file(".")).enablePlugins(PlayJava, SbtWeb).aggregate(common, store, catalog, backend).dependsOn(common, store, catalog, backend) 

: 프로젝트 루트의 build.sbt 파일에서 우리는 모듈을 정의합니다. 메인 페이지에 대한 첫 번째 요청이 끝나면 전체 프로젝트를 다시 컴파일하기 시작합니다 ... 최대 네 번. 이 작업은 시간이 오래 걸리지 만 이후에는 문제가 없습니다.

그래서 이유가 무엇입니까, 프로젝트는 자주 컴파일됩니까? 다른 누구라도이 문제를 우연히 발견 했습니까?

감사합니다.

답변

1

내 프로젝트에서 eclipse persistence-layer로 2.3.7을 재생하기 위해 업데이트 한 후 동일한 문제가 발생했습니다.

일부 클래스는 항상 변경되지 않았지만 일부 클래스가 재 컴파일되었습니다. 이것은 @Entity -12,주석을 사용하는 클래스에서만 발생했습니다.

불행히도 @play.db.ebean.Transactional 주석을 사용하면 불리하게 작동하지 않고 단일 트랜잭션 내에서 데이터베이스 명령을 실행하지 않습니다. 확실하지 않다면, still a bug이 있거나이 경우 컨트롤러 만 작동하지만 @Entity -classes는 작동하지 않습니다.

그러나 문제는 나를 try/finally 블록을 사용하여 ebean-documentation에 설명 된대로 트랜잭션을 생성하는 것이 었습니다.

ebean을 지속성 레이어로 사용합니까?

@transactional -annnotation을 제거하면 문제가 해결됩니까?

+0

실제로 작동했습니다. 고맙습니다! – devDomm