해결 방법은 다소 간단하며 google groups에 제안되었지만 문서에는 다소 모호한 부분이 있으므로 단계별로 설명해야합니다.
1. 격리는 도메인 모델은 논리적으로
이 도메인 클래스가 전망 또는 컨트롤러에서 아무것도 호출하지 않아야 것을 의미한다.
2. 도메인 클래스
here 주어진 어떤 정보를 포함하는 하위 프로젝트를 만듭니다. 하위 프로젝트는 기본 게임의 프로젝트와 매우 유사하며 그렇게 어렵지 않게 만듭니다. 나는 놀이 도구로이 작업을 수행 할 도구를 찾지 못하므로 손으로 몇 개의 폴더를 만들어야합니다.
먼저 기본 프로젝트의 폴더에 하위 프로젝트 폴더를 만듭니다. 도메인 데이터이라고 가정 해 보겠습니다. 그런 다음 standart app. layout과 같은 필수 폴더를 만듭니다. 대부분의 경우 생성 된 하위 폴더에 간단한 디렉토리 트리를 만들 :
app
└ models
└ myclasses
지금 하위 프로젝트의 디렉토리 트리에 대한 모든 도메인 클래스를 이동합니다.
3.Configuration
구성은 한 정도로 간단합니다. 주 프로젝트의 프로젝트 폴더로 이동하여 Build.scala 파일을 엽니 다. 이것은 SBT 빌드 시스템 용 빌드 스크립트입니다.
먼저 몇 가지 종속성을 정의하십시오. 빌드 파일에 다음 문자열을 추가하십시오.
val domainDependencies = Seq(
"org.projectlombok" % "lombok" % "0.11.4"
)
이렇게하면 Lombok의 jar 파일이 하위 프로젝트에 추가됩니다.이제 하위 프로젝트 정의를 작성 : 경로 하위 프로젝트의 폴더를 표시해야한다
val domainProject = PlayProject(
"domain-data", appVersion, domainDependencies, path=file("domain"), mainLang=JAVA
)
.
그리고 마지막 단계는 하위 프로젝트에 의존하도록 기본 프로젝트 구성을 업데이트하는 것입니다. 종속성은 각 주요 프로젝트를 재 빌드 할 때 하위 프로젝트를 다시 빌드해야합니다. 결국
val main = PlayProject(appName, appVersion, appDependencies, mainLang = JAVA).dependsOn(domainProject)
터미널에 주어진
플레이 명령으로 주요 프로젝트를 시작하고
프로젝트 명령을 입력합니다. 새 하위 프로젝트가 표시됩니다.
4. 이익은 이제 안전하게 롬복를 사용하여 기존 코드를 리팩토링하는 시간입니다.
자세한 내용은 여기를 참조)
전자를 실행
D) 검사, 컴파일 gregate 100 % 필요가)입니다. 나는 scala가 _difficult_라고 생각한다. 그리고 또 하나의 이유가 있습니다. 스칼라 개발자를 찾는 것은 여전히 어렵습니다. –
제 생각에는 scala가 java보다 쉽습니다. (YMMV 내가 임베디드 C에서 도착 동시에 스칼라와 자바를 배웠습니다). 그러나 당신은 맞습니다. 개발자를 찾는 것이 어렵습니다. – Fabian
@ Fabian IMHO, 일반 자바 방식과 너무 다릅니다. 스테로이드가있는 자바가 아닙니다. 다른 세계와 같습니다. _implicit_ 트릭을 한번보세요. 내가 스칼라 소스를 wathing 할 때, 나는 강한 감정을 가지고 "What the ..". 그러나 이것은 단지 나의 주관적인 견해 일뿐입니다. –