일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Gradle
- nginx
- hdfs
- Spring Boot
- Linux
- 제주
- docker
- design pattern
- SBT
- Spring Batch
- apache storm
- 도메인주도설계
- Storm
- Angular2
- hibernate
- Spring XD
- spark
- elastic search
- Domain Driven Design
- hadoop
- elasticsearch
- 엘라스틱서치
- intellij
- Java
- DDD
- scala
- Spring
- 스프링 배치
- Clean Code
- Hbase
- Today
- Total
욱'S 노트
SBT - 인텔리J와 시작하기 본문
sbt는 스칼라와 자바를 위한 빌드툴이다. 스칼라를 사용하다보면 자주 접하게 되므로 간단한 사용법을 파악해보자.
설치하기
sbt는 이 문서를 작성하는 기준으로 0.3.13이 최신버전이며 jre 1.6이상의 환경을 요구한다. 설치방법은 굉장히 간단하다. 공식사이트에서 zip이나 tgz로 압축된 배포본을 다운로드 받을 수 있다. 로컬로 다운받은 다음 적절한 위치에 압축을 해제하자. 압축을 해제한 후 bin 디렉토리 하위에서 아래와 같은 커맨드를 수행해서 정확히 설치되었는지 여부를 확인해보자.
$ sbt sbt-version
[info] Set current project to bin (in build file:/Users/devsun/dev/sbt-0.13.13/bin/)
[info] 0.13.13
인텔리J 프로젝트 구성
인텔리J에서 File > New > Project를 수행하면 다음과 같은 다이얼로그가 나타날 것이다. 여기서 Scala > sbt를 선택하여 새로운 프로젝트를 하나 구성해보자.
일단 프로젝트명만 hello-sbt로 변경하여 생성해보았다.
디렉토리 구조
베이스디렉토리 - 프로젝트의 루트 디렉토리이다. 여기서는 hello-sbt가 베이스디렉토리이다.
소스 디렉토리 - 소스 디렉토리의 구조는 maven과 거의 동일하다.
src/
main/
resources/
<files to include in main jar here>
scala/
<main Scala sources>
java/
<main Java sources>
test/
resources
<files to include in test jar here>
scala/
<test Scala sources>
java/
<test Java sources>
빌드 definition 파일 - 베이스 디렉토리에 있는 build.sbt 파일
빌드 support 파일 - 베이스 디렉토리 하위 project라는 디렉토리에 포함한 파일들을 의미한다.
빌드 target 디렉토리 - 기본으로 베이스 디렉토리 하위의 target
타스크 수행해보기
간단히 아래와 같이 컴파일 타스크를 수행해보자. 이것 역시 메이븐과 매우 유사하다.
$ sbt compile
[info] Loading project definition from /Users/devsun/dev/projects/hello-sbt/project
[info] Set current project to hello-sbt (in build file:/Users/devsun/dev/projects/hello-sbt/)
[info] Compiling 1 Scala source to /Users/devsun/dev/projects/hello-sbt/target/scala-2.12/classes...
[success] Total time: 3 s, completed 2017. 2. 22 오전 10:30:41
기본적으로 sbt에서 제공하는 타스크는 다음과 같다.
clean - 타겟 디렉토리에 생성된 모든 파일을 삭제한다.
compile - 메인 리소스에 있는 모든 소스를 컴파일 한다.
test - 컴파일을 하고 모든 테스트케이스를 수행한다.
package - src/main 하위의 자바와 스칼라의 컴파일된 클래스와 리소스를 패키징한다./java.
reload - 빌드 설정을 리로드한다.
빌드정의
sbt version
빌드에서 사용할 sbt의 버전을 project/build.properties에 명시할 수 있다.
sbt.version = 0.13.13
build definition
'Programming > sbt' 카테고리의 다른 글
SBT - Plugins (0) | 2017.03.03 |
---|---|
SBT - 멀티 프로젝트 (0) | 2017.02.28 |
SBT - 디펜던시 관리 (0) | 2017.02.28 |
SBT - build definition (0) | 2017.02.27 |