Intellij에서 Github의 Spring Project를 로컬로 Clone 하여 프로젝트를 구성하는 방법에 대해 알아보겠습니다. 참고로 Gradle로 구성된 SpringBoot 기준입니다.
Github 프로젝트 주소 복사
Github로 이동하여 clone or download를 누르면 주소가 공개됩니다. 클립보드 마크를 눌러서 주소를 복사합니다.
Intellij New 프로젝트 생성
아래와 같이 메뉴를 선택하고 입력창이 나오면 위에서 복사한 주소를 붙여 넣기 합니다.
Gradle Import
소스의 다운로드가 완료되면 아래처럼 intellij 오른쪽 하단에 노티가 뜨는데 Import Gradle project를 누릅니다.
위 노티가 사라져서 없는 경우 intellij를 재시작해서 노티를 다시 띄우거나 아래의 방법으로 Gradle import를 하면 됩니다.
다음과 같이 Gradle import 창이 뜨면 Use auto-import를 체크합니다. Gradle wrapper는 별도로 설치해서 사용하지 않는 경우 맨 위에 recommended를 선택하면 됩니다. Gradle JVM은 자신의 PC에 설치되어있는 Java버전을 선택합니다. OK를 누르면 Gradle이 실행되면서 라이브러리를 다운로드하고 개발환경을 구성합니다. 처음에는 좀 시간이 걸릴 수 있습니다.
만약 위의 내용을 수행하였는데 아래처럼 Java code에서 빨간색으로 코드가 보인다면 프로젝트 설정에 가서 Java를 다시 설정해 주어야 합니다.
프로젝트 Java 설정하기
Project structure를 선택하고 project 탭에서 sdk를 확인합니다. No sdk라고 표시되어 있는 경우 알맞은 Jdk를 선택하면 됩니다.
로컬 PC환경에 맞게 설정을 sdk를 설정합니다. 저의 경우 JAVA 8을 기준으로 개발하였으므로 다음과 같이 설정한 후 OK 하였습니다. JAVA 버전은 Spring boot2의 경우 8~11 버전을 설정하면 됩니다.
빨간 줄이 사라진 것을 확인할 수 있습니다. 이제 프로젝트 설정이 완료되었으므로 개발을 시작하면 됩니다.
Intellij Lombok 활성화
Intellij lombok plugin 설치
Settings – Plugins – Marketplace 탭에서 lombok 검색 후 install을 눌러 설치
Annotation Processing 활성화
intellij의 경우 Lombok사용 시 아래처럼 설정에서 Enable annotation processing을 체크해 주어야 합니다.
lombok 관련 dependencies 추가
build.gradle의 dependencies에 다음 내용이 있는지 확인 후 없으면 추가해줍니다.
compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' testCompileOnly 'org.projectlombok:lombok' testAnnotationProcessor 'org.projectlombok:lombok'
다른 브랜치 보기
Github를 clone 하면 master 브랜치만 로컬에 불려집니다. 다른 브랜치로 이동해서 과거 소스를 보려면 다음과 같이 하면 됩니다. 저의 경우 각 장마다 개발 내용을 브랜치를 따서 작업해놨기 때문에 이전장의 내용을 최신 브랜치와 같이 보면 변경된 부분이 많아 헷갈릴 수 있습니다. 각장의 마지막에 표시해둔 브랜치로 이동하여 소스를 확인하려면 다음과 같이 진행합니다.
원격 변경 사항을 로컬에 갱신하기 위해 먼저 Fetch를 한번 합니다.
Intellij 오른쪽 하단 Git:master를 누르면 show13 more를 볼 수 있습니다. 클릭합니다.
Remote Branches에서 원격의 브랜치 리스트를 볼 수 있습니다. 로컬 레포지터리로 복사하고자 하는 브랜치를 선택한 후 Checkout AS를 선택하면 해당 브랜치를 로컬로 클론 할 것인지 물어봅니다.
OK를 누릅니다. 누르면 로컬로 해당 브랜치가 다운로드되는 것을 확인할 수 있습니다. 다운로드가 완료된 후엔 자동으로 해당 브랜치로 이동됩니다.
Git: feature/api-structure를 누릅니다. Local branches에 전에는 master만 있었지만 api-structure도 생성된 것을 확인할 수 있습니다.
로컬의 master 브랜치로 다시 이동하고 싶으면 master를 선택하고 메뉴에서 checkout을 선택하면 됩니다.
서버 실행
SpringBoot의 경우에는 내장된 WAS를 사용하기 때문에 다음과 같이 Application 파일을 Run만 하면 간편하게 서버를 실행 가능합니다.
실행 이후에는 상단에 관련 내용이 표시되므로 해당 컨트롤을 사용하여 서버를 시작/중지하면 됩니다.
이상입니다! 이후부터는 즐거운 코딩을 하시면 됩니다~^^;