[IDE] Intellij > STS / IDE 옮기기 / Intellij 프로젝트를 eclipse 프로젝트에 옮기기 / STS gradle project / sts 설
SI 프로젝트를 하다보면 Intellij IDE를 사용할 일이 거의 없다. 대부분의 SI 업체는 무료인 eclipse를 기반으로 개발하기 때문이다. Intellij는 많은 회사에서 높은 생산성을 위해 사용하는 IDE 중 하나로 자사 솔루션 개발이나 토이 프로젝트를 하며 경험하게 되었다.
아무래도 유료 서비스는 유료인 이유가 있는 법.. 너무 좋다. eclipse가 그렇다고 안 좋다는 건 아니지만 비교하면 꽤 많은 차이가 있다. 많은 블로그에서 비교하는 포스팅을 해두었으니 궁금하면 검색해보는 것을 추천한다.
아무튼 Intellij 를 사용하면서 어쩔 수 없이 개발하던 프로젝트를 eclipse 나 STS로 옮겨야 하는 경우는 생각보다 꽤 자주있다. 그만큼 Intelllij를 조금이라도 경험해보려는 시도가 예전보단 많아진 것 같다.
이제 본론으로 돌아와서 eclipse와 Intellij 어떻게 프로젝트를 옮겨야 하는가 생각해봐야한다. eclipse와 Intellij 는 환경구성이 다르기 때문에 무작정 파일을 불러온다고 해서 정상적으로 프로젝트가 동작하지 않는다. 따라서 나는 Git 을 중간에 이용하는 방법을 고려하였다.
1. Intellij > git push
git 레파지토리에 먼저 프로젝트를 push 하게 되면, IDE 설정파일을 제외한 프로젝트 소스만 저장할 수 있다. 이때, 한가지 주의할 점은 git ignor 파일에 IDE 설정파일이 지정되어있는지 먼저 확인해야한다. 간혹 IDE 자체 설정파일 중 일부가 빠져있어 git에 IDE 설정 파일이 업로드 되는 경우가 있다. IDE 설정파일이 남아있을 경우 변경되는 IDE와 충돌할 수 있으니 미리 삭제해야한다.
2. git > zip 파일 clone
git 레파지토리에 업로드 된 소스를 zip으로 clone 한다. 이 프로젝트를 sts 로 import 할 것이다.
3. sts 설치
*sts install : https://spring.io/tools
Spring | Home
Cloud Your code, any cloud—we’ve got you covered. Connect and scale your services, whatever your platform.
spring.io
- 적절한 OS를 선택해 다운로드 (.jar)
- 다운로드한 파일을 자신이 사용하길 원하는 폴더로 옮긴 후 압축해제 후 C드라이브로 붙여넣는다.
- SpringToolSuite4.exe 실행
4. sts > Intelij project Gradle import
본 프로젝트는 Gradle로 작성한 프로젝트이기 때문에 General Import를 하게되면 정상적으로 소스파일을 읽어오지 못한다. 따라서 꼭 Gradle 프로젝트로 Import 해야한다.
1. Gradle 프로젝트를 Import 하기 위해 Next 하여 동의해준다.
2. Project root directory에서 아까 다운받은 zip을 압축풀어 import 해준다.
3. import 이후 build gradle 하여 필요한 dependency를 받아온다.
4. eclipse 기반 IDE에서 Lombok을 사용하기 위한 플러그인을 수기로 설치해준다.
build.gradle에 dependency로 지정되어있더라도 Lombok을 찾지 못했다;;;,,...
project and External Dependencies 리스트에서 [Run As] - [Java Application] 선택
Proceed를 눌러 설치를 계속한다.
Install 화면이 나오면 [Install/Update] 옵션에서 ini 파일을 설정해주어야 sts 자체에 Lombok을 설치할 수 있다.
ini가 추가된 것을 볼 수 있다. 이제 Install 하고 Quit Installer 하면 Lombok 설치가 완료되고, STS를 재기동 해준다. (재기동 후 gradle clean 한번 해주기!)
이제 Lombok 오류가 해결되어 Intellij 프로젝트를 정상적으로 STS로 import 하였다. 끝!