Scouter APM 개발환경 구성하기
Scouter 개발 환경을 구성해보자.
사전 준비 사항
먼저 Java 8, Maven 3, Git 이 설치되어 있어야 하며 GitHub 계정이 있어야 한다.
당연히 PC에 Eclipse (Neon)나 IntelliJ 같은 개발 도구도 설치되어 있어야 한다.
1. GitHub에서 Fork 하기
- Scouter Github 저장소에서 내 저장소로 Fork 한다.
- Scouter 저장소 : https://github.com/scouter-project/scouter
- (물론 당연히 예의상 Fork를 누르기 전에 Star를 먼저 눌러준다!)
- 개발환경을 구성하기 위해 좀 전에 Fork한 저장소를 내 PC로 Clone 한다.
- 필자의 경우는
- git clone https://github.com/gunlee01/scouter.git
- 기본 Java가 Java 8 JDK가 아닌경우에는 eclipse.ini에 vm 경로를 PC에 설치되어 있는 java 8 JDK로 설정한다.
(2) git clone 받은 위치의 scouter project 소스를 eclipse로 import 한다.
- 정상적으로 import되면 자동으로 빌드가 수행되는데 scouter.server와 scouter.webapp이 빌드가 되지 않을 수 있다.
- scouter.webapp은 Lombok이 필요하고 scouter.server는 scala IDE가 필요한데 Eclipse에 이 두가지가 기본으로 포함되어 있지 않기 때문에 빌드 에러가 발생하게 되며 추가적인 설치가 필요하다. 추가 설치는 아래를 참고해서 진행한다.
(3) Lombok이 설치되어 있지 않다면, lombok을 다운로드 받고 설치한다.
- https://projectlombok.org/downloads/lombok.jar
- 위 경로에서 다운로드 받은 후 lombok.jar를 실행하면 설치된 IDE를 자동으로 찾아서 설치해 준다. 지시에 따라 설치한 후 eclipse를 재실행 한다.
- java -jar lombok.jar
- Eclipse가 재실행되면 scouter.webapp 이 정상적으로 빌드가 되는 것을 확인할 수 있다.
- 필요한 경우 clean build를 수행한다.
(4) Scala IDE가 설치되어 있지 않다면, 아래 내용을 참고하여 이를 설치한다.
- Scala IDE 압축파일을 다운로드 받는다.
- Scala IDE 4.3.0 for scala 2.11.7
- http://download.scala-ide.org/sdk/lithium/e44/scala211/stable/site_assembly-20151202-0007.zip
- Eclipse Neon을 위한 Scala IDE는 Eclipse용 업데이트 사이트로 제공되지 않는다. 따라서 직접 압축파일을 다운로드 받아서 설치해야 한다.
- 다운로드 받은 파일의 압축을 푼다. 그리고 Eclipse에서 "Install New Software" 메뉴를 통해 local 경로에서 설치한다.
- 설치가 완료된 후 Eclipse를 재실행한다.
- build path를 확인하고, 만약 source 디렉토리에 /src/main/scala 가 포함되지 않았다면, 이를 포함시킨다.
- scouter.server 프로젝트에 scala nature가 포함되지 않았다면, 이를 프로젝트에 포함시킨다.
- 필요한 경우 clean build를 실행한다.
- 이로써 Eclipse에 scouter 개발환경 구성이 완료되었다.
- scouter client 개발환경 구성은 조금 다른 부분이 있으므로 IntelliJ 개발환경 구성을 설명한 이후에 다시 설명한다.
(5) Scouter Server를 Eclipse IDE 에서 실행해 보기
- scouter.server.Main 을 java application으로 실행하면 된다.
- 단 실행시 log 및 database등의 디렉토리와 파일들이 생성되므로 working directory를 소스 경로가 아닌 다른 곳으로 적당히 잡아주는 것이 좋다.
- 실행화면
3. IntelliJ에 개발환경 구성하기
IntelliJ 는 scala 관련한 추가 설정이 거의 필요 없어 Eclipse에 비해 개발환경 구성이 좀 더 용이하다.
(1) IntelliJ 설치시 scala 를 설치하지 않았다면 plugin을 검색해서 추가로 설치한다.
(2) scouter project를 import 한다.
- import는 maven model을 사용한다.
- import시에 import maven project automatically 및 create module group 옵션을 체크하는게 좀 더 편하게 사용할 수 있다.
(3) lombok plugin을 설치하지 않았다면 설치하고 이를 활성화 한다.
- plugin > lombok을 검색해서 설치한다.
- lombok plugin 설치후 intellj를 재실행하고 settings > annotation processors 메뉴에서 annotation processing을 활성화 한다
- 이로써 IntellJ에 개발환경 구성이 완료되었다.
(4) Scouter Server IntelliJ에서 실행해보기
- scouter.server.Main 을 실행하면 된다.
- 단 scouter server 실행시 data file 및 log file 등이 생성되므로 소스 위치와 관련 없는 위치로 working directory를 설정하여 실행하는 것이 좋다.
3. Scouter Client 개발 환경 구성
scouter client는 eclipse RCP로 개발되어 있으므로 당연히 eclipse에 개발환경을 구성하여야 한다. IntelliJ에 빌드가 가능한 환경을 만들 수는 있으나 debugging 및 ide에서 바로 실행등이 지원되지 않으므로 최소한 코딩은 intellij 에서 하더라도 실행과 debugging은 eclipse에서 하여야 한다.
(1) project import
- scouter.client.build 가 parent project 이므로 이를 existing maven project로 import 한다.
- import 도중에 maven tycho plugin을 설치할 것인지를 묻는데 client 패키징을 위해 필요하므로 설치한다.
(2) scouter.common 을 mvn packaging
- scouter.client 프로젝트에 compile error가 발생하였을텐데 이는 zest plugin 과 scouter.common.jar 가 없기 때문이다.
(현재 scouter.client는 scouter.common은 local library로 직접 참조하게 되어있다.) - scouter.common 프로젝트를 mvn package 하면 빌드한 jar 파일을 scouter.client의 lib 디렉토리로 복사하도록 되어 있으므로 scouter.common을 mvn package 하여 빌드한다.
- scouter.client 프로젝트의 build path에 lib/scouter.common.jar 에 대한 참조가 없다면 이를 추가해 준다.
- zest plugin을 설치한다.
- Help > Install New Software 메뉴에서 zest plugin을 설치한다.
- zest plugin update 경로
- Eclipse를 재기동 한 후 scouter.client를 refresh 하면 정상적으로 빌드되는 것을 확인할 수 있다.
(3) scouter client를 IDE에서 실행하기
scouter.client.product에서 synchronize를 한번 한 후에 launch 버튼을 통해 실행한다.
끝!
댓글
댓글 쓰기