Scouter APM 개발환경 구성하기

Scouter 개발 환경을 구성해보자.

사전 준비 사항

먼저 Java 8, Maven 3, Git 이 설치되어 있어야 하며 GitHub 계정이 있어야 한다.
당연히 PC에 Eclipse (Neon)나 IntelliJ 같은 개발 도구도 설치되어 있어야 한다.

1. GitHub에서 Fork 하기

  • Scouter Github 저장소에서 내 저장소로 Fork 한다.
  • 개발환경을 구성하기 위해 좀 전에 Fork한 저장소를 내 PC로 Clone 한다.
    • 필자의 경우는
      •  git clone https://github.com/gunlee01/scouter.git

  • develop branch로 변경한다.
    • git checkout develop


2. Eclipse에 개발환경 구성하기

 여기서는 Eclipse Neon3를 기준으로 설명한다.
 현재 시점 최신버전인 Scouter 1.7.x 의 클라이언트 개발을 위해서는 Eclipse Neon이 필요하다.

(1) Eclipse Neon을 Java 8로 실행한다.

  • 기본 Java가 Java 8 JDK가 아닌경우에는 eclipse.ini에 vm 경로를 PC에 설치되어 있는 java 8 JDK로 설정한다.

(2) git clone 받은 위치의 scouter project 소스를 eclipse로 import 한다.

  • 우리는 이미 local PC에 소스를 받아놓은 상태이므로 "Existing Maven Project"로 import 받는다.


  • 정상적으로 import되면 자동으로 빌드가 수행되는데 scouter.serverscouter.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 압축파일을 다운로드 받는다.
    • 다운로드 받은 파일의 압축을 푼다. 그리고 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 automaticallycreate 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를 설정하여 실행하는 것이 좋다.


  • 아래 그림은 scouter server가 실행 된 화면이다.


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을 설치한다.

  • Eclipse를 재기동 한 후 scouter.client를 refresh 하면 정상적으로 빌드되는 것을 확인할 수 있다.

(3) scouter client를 IDE에서 실행하기

scouter.client.product에서 synchronize를 한번 한 후에 launch 버튼을 통해 실행한다.



끝!

댓글

이 블로그의 인기 게시물

Scouter APM 소소한 시리즈 #1 - 설치하기

Scouter APM 소소한 시리즈 #4 - XLog 활용 - 상세기능

Java의 동시성 개선을 위한 Project Loom은 reactive streams를 대체할 것인가?