본문 바로가기

Programming/Scala

Scala - Creating IntelliJ Scala project using sbt (sbt 를 이용하여 IntelliJ 용 Scala project 생성하기)

Scala 프로그램을 컴파일하고 빌드하기 위해서 sbt 라는 프로그램을 사용한다.


sbt 는 Simple Build Tool 의 약자로서, 자바나 Scala 프로그램을 Ant, Maven 과 유사하게 빌드할 때, 사용하는 프로그램이다.

sbt 는 단독으로 사용해도 좋지만, IntelliJ IDE 와 같이 사용하면 좀더 편리하게 사용할 수 있다. IntelliJ 의 빌드 방법이 SBT 보다 섬세하고 유연하지 못하기 때문에, 빌드는 sbt 에 맡기고, 소스코드 편집은 IntelliJ 에서 하는 것이 현명한 개발 방법이라고 생각한다.

Scala 프로그램을 애초에 IntelliJ 로 프로젝트를 생성하여 계속 작성해 왔다면, 별 문제가 없지만, 그렇지 않은 경우 새로 프로젝트를 생성해야 한다. 하지만 IntelliJ 에서 프로젝트를 생성하는 작업이 그리 만만한 작업도 아니거니와, 이 프로젝트 설정을 버전관리로 넣어서 사용자마다 다른 환경때문에 계속 바뀌는 것도 원하지 않는다면, sbt-idea 라는 프로그램이 바로 그 해결책이다. 이 프로그램은 sbt 의 plug-in 프로그램으로서 Scala 언어로 작성된 프로그램을 IntelliJ 에서 바로 사용할 수 있도록 프로젝트를 생성해 준다.



아래 링크는 sbt 의 플러그인 프로그램인 sbt-idea 라는 프로그램을 소개하는 곳이다.

https://github.com/mpeltonen/sbt-idea


sbt 를 이용하여 IntelliJ Idea Project 를 간단하게 생성할 수 있다. 

gen-idea 명령어를 사용하게되면, 기본으로 sbt 의 classifiers (i.e. 소스, javadoc 들) 들과 의존성있는 library 들을 찾아서 로드시킨 후에 프로젝트 파일에 추가한다. 이렇게 실행하게 되면, 상태에따라서 프로젝트 생성이 멈추거나, 멈추는 것처럼 보일>수도 있다. 그래서 이러한 것들을 다운로드하거나 참조하고 싶지 않다면, no-classifiers no-sbt-classifiers 옵션과 같이 사용하면 된다.  



 $ ./sbt

 > gen-idea no-classifiers no-sbt-classifiers



위의 작업을 마치면, .idea, .idea_modules 라는 디렉토리가 생기고, IntelliJ IDE 에서 바로 프로젝트 불러오기로 사용이 가능하다.