2011-03-18 3 views
2

저는 스칼라로 시작 했으므로 SBT (Simple Build Tool)를 설정하려고합니다. Cygwin에서 실행하기위한 모든 지시 사항을 따랐지만, 나는 그것을 실행하고 있지만 하나의 이상한 행동을 경험하고있다. 클래스 파일은 target\classes 대신 target\scala-2.8.1\classes으로 컴파일됩니다. 다른 버전의 스칼라를 사용하면 디렉토리 이름에 해당 버전이 반영됩니다.SBT가 잘못된 디렉토리에 있습니다.

왜 이런 이유가 발생합니까? 빌드를 구성 할 수 있다는 것을 알고 있지만 반드시 정상적인 동작이 아닙니까?

+1

여러분이 놓치고 싶은 것은 각 스칼라 버전에서 생성 된 클래스가 스칼라 2.8.0과 2.8.1을 제외하고는 다른 모든 스칼라 버전과 호환되지 않는다는 것입니다. –

답변

3

이것은 정상적인 동작입니다. sbt를 사용하면 여러 버전의 스칼라에 대해 구축 할 수 있습니다 (as described on the wiki). 귀하의 코멘트에서 질문에 대해서는

편집 : 당신이 outputpath 메소드를 오버라이드하여이 작업을 수행 할 수 있습니다 : 스칼라 빌드 버전없이, target/classes로 코드를 컴파일

 
override def outputPath = "target" 

. 이 경우 sbt 위키의 paths page과 github의 ProjectPaths 소스 코드를 확인하여 모든 구성 가능한 옵션 목록을 확인하는 것도 유용 할 수 있습니다.

+0

그래서 그것은 ... 내가 아직 보지 않고있는 이유 일 것임에 틀림 없다. 감사! – matt

+0

뭔가 도움이된다고 가정하면 대상/클래스뿐만 아니라 해당 디렉토리에 빌드하는 방법이 있습니까? – matt

+0

내 대답을 편집했습니다. –

관련 문제