[SBT] sbt-revolver 로 빠르게 개발하기

Sangwoo Park·2023년 8월 20일
0

개요

scala 로 개발을 하면 SBT 라는 빌드 툴을 이용하게 된다.

주로 sbt run 과 같은 키워드를 통해 애플리케이션 서버를 동작시키곤 한다.

그런데 터미널에서 sbt run 을 입력하면 해당 터미널에서 sbt 가 foreground 로 동작한다.

그 말은 즉, 다른 액션을 하려면 다른 터미널을 켜서 수행하거나 애플리케이션을 종료해야 한다는 것이다.

이러한 방법이 불편했던 건지 spray 라는 github organization 에서 sbt-revolver 라는 라이브러리(좀더 정확히는 플러그인) 을 오픈소스로 개발했다.

sbt-revoler 를 쓰면 좋은 점

이 플러그인을 사용하면 애플리케이션을 동작시키고 나서 동일 터미널에서 여러가지 다른 동작이 가능하다.
예를 들면 애플리케이션을 다시 켜기 위해 종료하는 수고가 줄어들 수 있고,
특히 멀티 모듈 프로젝트에서는 여러 모듈들을 한 터미널에서 수행할 수 있다.
이런것이 가능한 이유는 애플리케이션을 forked JVM에서 실행시키기 때문이다.

사용 방법

project/plugins.sbt 설정에 아래와 같이 추가해주면 된다. (만약 없다면 파일을 생성하자)
addSbtPlugin("io.spray" % "sbt-revolver" % "0.10.0")
이 플러그인은 auth plugin 이기 때문에 build.sbt 에 따로 추가설정을 해줄 필요가 없다.

설정 및 사용 준비가 끝났다면, sbt shell 에서 reStart 키워드를 입력하면 애플리케이션을 실행할 수 있다.

reStart 를 입력하는 시점에 애플리케이션이 이미 실행중이었다면먼저 애플리케이션을 멈추고 다시 시작하게 된다.

애플리케이션을 완전히 멈추고싶다면 reStop 키워드를 입력하면 된다.

Ref.

sbt-revolver github

profile
going up

0개의 댓글