메뉴 건너뛰기

Bigdata, Semantic IoT, Hadoop, NoSQL

Bigdata, Hadoop ecosystem, Semantic IoT등의 프로젝트를 진행중에 습득한 내용을 정리하는 곳입니다.
필요한 분을 위해서 공개하고 있습니다. 문의사항은 gooper@gooper.com로 메일을 보내주세요.


sbt centos에 sbt 0.13.5 설치

총관리자 2016.05.30 15:21 조회 수 : 251

1. 다운로드

wget http://dl.bintray.com/sbt/rpm/sbt-0.13.5.rpm


2. 설치

yum localinstall sbt-0.13.5.rpm


3. sbt실행

sbt

==>  

Getting org.scala-sbt sbt 0.13.5 ... 


설치후 처음 실행할때 "Getting org.scala-sbt sbt 0.13.5 ..."가 표시되면서 멈춘것처럼 보이는데.. default jar파일들을 다운로드 받는 동안 시간이 걸리게 되는데 15분이내에 끝나므로 완료될때 까지 기다리면 된다.


4. building하고 *.jar실행(실행하는 곳에 project.sbt가 있어야함)

3.에서 실행한 sbt에서 package를 입력한다.


5. Simple Build Tool.


Coursera의 교육과정 중에서 [[마틴 오더스키]]가 진행하는 [[Functional Programming Principles in Scala]]와 [[Principles of Reactive Programming]]은 [[스칼라]] 언어로 프로그래밍 과제가 제시된다. 이때 사용하는 빌드 도구가 [sbt(Simple Build Tool)](http://www.scala-sbt.org/)이다.


프로젝트 폴더에서 `sbt` 명령으로 **sbt프롬프트**에 진입하고 나면 sbt명령으로 대상을 빌드하거나 테스트할 수 있다. 앞의 두 교육과정에서는 과제를 제출하는 것도 sbt에서 가능하다.


    <project dir>

    +-- build.sbt

    +-- project/

    |   +-- build.properties

    |   +-- ProgFunBuild.scala  ; submit 태스크정의

    |   ..

    +-- target/

    |   +-- scala-2.10          ; 빌드 결과물이 여기에 들어간다.


## 설치


맥에서는 brew를 이용하여 쉽게 설치할 수 있다. `brew install sbt`로 설치하면 `sbt console`로 스칼라를 사용할 수도 있는데, 스칼라를 따로 설치하지 않으면 콘솔에서 직접 `scala` 명령을 사용할 수 없다는 점이 특이하다.


리눅스/맥에서 수동으로 설치하는 것도 매우 간단한다. 부트스트랩 격인 sbt-launcher.jar를 받고, 이를 호출하는 sbt.sh 스크립트를 만들어주면 된다. launcher jar파일이 작아서 한번 놀라고, 처음 실행했을 때 엄청나게 다운로드를 많이 하는데서 또 한 번 놀라게 된다.



## 주요명령


* compile

* test

* package

* clean

* reload

* update

* settings

* inspect - 빌드 설정 값을 자세히 살펴보기 위해 사용한다. `sbt inspect sourceManaged`


## 플러그인 


[다양한 플러그인](http://www.scala-sbt.org/release/docs/Community/Community-Plugins.html)이 있어서 빌드에 필요한 명령들을 가져다 쓸 수 있다. 


* *assembly* - https://github.com/sbt/sbt-assembly `sbt assembly`로 의존성을 전부 머지한 jar파일을 생성해준다.

* *eclipse* - https://github.com/typesafehub/sbteclipse `sbt eclipse`로 현재 의존성을 반영하여 이클립스 프로젝트 정보를 생성한다.

* *git* - https://github.com/sbt/sbt-git sbt프롬프트에서 git명령을 바로 사용할 수 있게 해준다.

* *antlr4* - https://github.com/ihji/sbt-antlr4 [[ANTLR]]를 사용할 수 있게 해준다. 






--------------초기 실행시 console로그중 일부분--------

Getting org.scala-sbt sbt 0.13.5 ...

downloading http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt/0.13.5/jars/sbt.jar ...

        [SUCCESSFUL ] org.scala-sbt#sbt;0.13.5!sbt.jar (3989ms)

downloading http://repo1.maven.org/maven2/org/scala-lang/scala-library/2.10.4/scala-library-2.10.4.jar ...

        [SUCCESSFUL ] org.scala-lang#scala-library;2.10.4!scala-library.jar (108767ms)

downloading http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/main/0.13.5/jars/main.jar ...

        [SUCCESSFUL ] org.scala-sbt#main;0.13.5!main.jar (6702ms)

downloading http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/compiler-interface/0.13.5/jars/compiler-interface-src.jar ...

        [SUCCESSFUL ] org.scala-sbt#compiler-interface;0.13.5!compiler-interface-src.jar (3713ms)

downloading http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/compiler-interface/0.13.5/jars/compiler-interface-bin.jar ...

        [SUCCESSFUL ] org.scala-sbt#compiler-interface;0.13.5!compiler-interface-bin.jar (4428ms)

downloading http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/precompiled-2_8_2/0.13.5/jars/compiler-interface-bin.jar ...

        [SUCCESSFUL ] org.scala-sbt#precompiled-2_8_2;0.13.5!compiler-interface-bin.jar (4452ms)

downloading http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/precompiled-2_9_2/0.13.5/jars/compiler-interface-bin.jar ...

        [SUCCESSFUL ] org.scala-sbt#precompiled-2_9_2;0.13.5!compiler-interface-bin.jar (4663ms)

downloading http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/precompiled-2_9_3/0.13.5/jars/compiler-interface-bin.jar ...

        [SUCCESSFUL ] org.scala-sbt#precompiled-2_9_3;0.13.5!compiler-interface-bin.jar (4585ms)

downloading http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/actions/0.13.5/jars/actions.jar ...

        [SUCCESSFUL ] org.scala-sbt#actions;0.13.5!actions.jar (4955ms)

downloading http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/main-settings/0.13.5/jars/main-settings.jar ...

        [SUCCESSFUL ] org.scala-sbt#main-settings;0.13.5!main-settings.jar (4305ms)

downloading http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/interface/0.13.5/jars/interface.jar ...

        [SUCCESSFUL ] org.scala-sbt#interface;0.13.5!interface.jar (4104ms)

downloading http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/io/0.13.5/jars/io.jar ...

        [SUCCESSFUL ] org.scala-sbt#io;0.13.5!io.jar (4655ms)

downloading http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/ivy/0.13.5/jars/ivy.jar ...

        [SUCCESSFUL ] org.scala-sbt#ivy;0.13.5!ivy.jar (4051ms)

.......

번호 제목 글쓴이 날짜 조회 수
35 pom.xml에서 build.gradle로 변환 총관리자 2015.09.14 201
34 git설명 한글판 총관리자 2015.12.09 358
» centos에 sbt 0.13.5 설치 총관리자 2016.05.30 251
32 [sbt] sbt 0.13.11 를 windows에 설치하고 scala프로그램을 compile해서 jar파일 만들기 총관리자 2016.07.11 74
31 [sbt] sbt-assembly를 이용하여 실행에 필요한 모든 j라이브러리를 포함한 fat jar파일 만들기 총관리자 2016.07.11 1738
30 build할때 unmappable character for encoding MS949 에러 발생시 조치사항 총관리자 2016.08.03 178
29 [SBT] project.sbt에 libraryDependencies에 필요한 jar를 지정했으나 sbt compile할때 클래스를 못찾는 오류가 발생했을때 조치사항 총관리자 2016.08.03 74
28 [SBT] SBT 사용법 정리(링크) 총관리자 2016.08.04 839
27 [SBT] assembly시 "[error] deduplicate: different file contents found in the following:"오류 발생시 조치사항 총관리자 2016.08.04 579
26 gradle을 이용하여 jar파일 생성시 provided속성을 지정할 수 있게 설정하는 방법 총관리자 2016.08.09 75
25 로컬의 라이브러리파일들을 dependency에 포함시키는 방법 총관리자 2016.08.09 49
24 외부 jar파일을 만들려고하는jar파일의 package로 포함하는 방법 총관리자 2016.08.10 81
23 compile할때와 exclude할때 대상을 표현하는 명칭이 다르므로 주의할것 총관리자 2016.08.10 503
22 jar파일의 dependency찾는 프로그램 총관리자 2016.08.11 52
21 여러가지 방법으로 특정 jar파일을 exclude하지 못하는 경우 해당 jar파일을 제외시키는 방법 총관리자 2016.08.11 122
20 build.gradle을 pom.xml로 변환하는 방법 총관리자 2016.08.18 1150
19 spark, kafka, mariadb, jena, springframework등을 이용하여 공통모듈을 jar로 만들기 위한 build.gradle파일(참고용) 총관리자 2016.08.19 611
18 spark submit용 jar파일을 만드는 sbt 용 build.sbt설정 파일(참고용) 총관리자 2016.08.19 164
17 springframework를 이용한 war를 생성하는 build.gradle파일(참고용) 총관리자 2016.08.19 650
16 로컬에 있는 jar파일을 지정하고 dependency로 가져오기 총관리자 2016.08.19 79

A personal place to organize information learned during the development of such Hadoop, Hive, Hbase, Semantic IoT, etc.
We are open to the required minutes. Please send inquiries to gooper@gooper.com.

위로