거북이-https://velog.io/@violet_evgadn 이전완료

IntelliJ 설치 본문

웹 개발/Spring(이론)

IntelliJ 설치

VioletEvgadn 2022. 8. 2. 00:23

IntelliJ란?

IntelliJ는 JetBrains사에서 개발한 JAVA 통합 개발 환경이다. IDEA라고도 부른다.

대표적인 JAVA 통합 개발 환경인 Eclipse 보다 여러 면에서 뛰어나다고 평가되며 2020년에는 62%의 사용자가 IntelliJ를 사용할만큼 유명해졌다.

 

출처 : https://snyk.io/blog/intellij-idea-dominates-the-ide-market-with-62-adoption-among-jvm-developers/

 

IntelliJ 큰 장점은 코드 컴플리션과 뛰어난 리팩토링 기능이라고 할 수 있다.

코드 컴플리션 같은 경우 클래스나 메서드 일부분만 입력해도 IntelliJ 측면에서 이와 매칭되는 예상 단어를 자동으로 띄워줘 잘 활용한다면 정말 빠른 개발이 가능하다.

또한 클래스 이름이나 메서드 이름을 변경할 때 존재하는 모든 클래스와 메서드 명을 변경하는 기능을 가지고 있어 완벽한 리팩토링을 제공하기도 한다.

이외에도 중복 코드를 찾아 알려주고 내장 개발자 도구가 매우 유용해 개발자가 활용하기 좋다.

 

IntelliJ는 Git , SVN 등 다양한 버전 관리 시스템을 위한 통합 인터페이스를 제공하며 Maven, Gradle 등 빌드 툴을 제공하기도 한다. 이런 빌드 툴은 컴파일 자동화, 배포, 테스트 등 다양한 기능을 지원할 수 있다.

또한 Unit Test를 위한 기능도 잘 되어 있어 JUnit 등의 테스트 환경을 쉽게 접목시킬 수 있다.

또한 다양한 Plugin을 지원하여 설치할 시 다양한 기능을 추가시킬 수도 있다는 장점을 가지고 있다.

 

웹 개발 시에도 큰 장점을 가진다.

IntelliJ는 Config 자동 완성 및 Bean 자동 완성을 지원한다. 또한 Spring 주입이 조금 더 쉬운 느낌이 있어서 IntelliJ를 웹 개발 시 많이 활용한다.

또한 Lombok이라는 기능을 활용하기에 더 쉽고 DB와 연동할 때 JPA Repsitory를 더 쉽게 활용할 수 있다는 장점 때문에 웹 개발에서 많이 활용된다

 

많이 활용되는 통합 개발 환경은 Visual Studio Code겠지만, JAVA에 한해서는 IntelliJ가 뛰어난 대체제 역할을 할 수 있다고 생각한다.


IntelliJ 설치

1. 툴박스 설치

설치 사이트 : https://www.jetbrains.com/toolbox-app/

 

JetBrains Toolbox App: Manage Your Tools with Ease

Open any of your projects in any of the IDEs with one click.

www.jetbrains.com

물론 툴박스를 설치하지 않고서도 IntelliJ는 활용할 수 있다.

하지만 개인적으로 IntelliJ를 툴박스를 설치하여 활용하는 것이 조금 더 편한 것 같고 JetBrains에서 낸 Android Studio나 PyCharm 같은 기능도 활용해 볼 수 있기 때문에 이왕이면 툴박스를 설치해서 JetBrains의 App들을 한번에 관리하고 볼 수 있는게 좋은 것 같다.

 

2. IntelliJ IDEA Community 다운

 

IntelliJ Community Edition은 무료 버전, Ultimate 버전은 유료 버전이다.

IntelliJ 기능을 온전히 활용하기 위해선 유료 버전을 활용해야 하지만, 아직은 돈이 많지 않기 때문에(흑흑...) 무료 버전을 활용하도록 하겠다.

(학생인 사람들은 아마 학교 계정을 통해 무료로 Ultimate 버전을 활용할 수 있을 것이다. 유료 버전이 확실히 돈 값은 하니 꼭 활용하도록 하자!)

 

3. 설치 완료!


IntelliJ 설정

설명에 들어가기 앞서 아래 설정은 "프로젝트를 생성한 이후" 수행할 수 있는 설정들이 많다.
IntelliJ는 1개의 Project당 설정을 따로 줄 수 있는데, 내가 원하는 프로젝트마다 아래 설정을 해줘야 제대로 적용 될 것이다.

 

◎ Build 시 속도 향상을 위한 설정

1. File → Setting에서 Gradle 검색

2. Build and run에 있는 설정 값들을 모두 IntelliJ IDEA로 변경

그렇다면 왜 속도가 빨라지는 걸까?

IntelliJ IDEA는 Gradle을 기본 실행기로 가진다.

만약 아무런 설정을 하지 않은 CI(Continuous Integration) 서버에서 나의 프로젝트에 대한 테스트를 할 경우, Gradle 실행기를 통해 테스트를 진행할 것이다. 즉 Local PC에서 Gradle을 통해 테스트를 하여 성공했다면 CI 서버에서도 잘 운영되기 때문에 "내 PC에선 잘 운영되지만 배포하니 운영에 실패했다!"라는 일이 발생하지 않도록 Default Build and Run을 Gradle로 한 것이다.

 

자! 뭔 말인지 모르겠다!(왜냐하면 내가 그랬으니깐) 조금 더 쉽게 이해해보자.

 

Gradle 실행기라는 것은 무엇이냐. 나중에 Gradle 자체에 대해서도 자세 알아봐야겠지만 Gradle이라는 것은 CI/CD를 위한 컴파일, Test, Packaging, Deploy & Run 과정을 자동화 시켜주는 Build Tool이다.

간단히 말하자면 Gradle 실행기를 통해 내 프로젝트를 실행시킨다면 Project를 jar 파일이나 war 파일로 변형시키고 이렇게 만들어진 파일을 서버에 실행시킨다는 것을 말한다.

 

내 프로젝트를 배포할 때는 이 빌드 툴이 매우 편리함을 가져다 준다. 따로 설정을 하지 않고서도 빌드 툴만 활용하면 필요한 라이브러리 등을 포함시켜 jar나 war 파일로 만들어 실행 가능한 파일로 컴파일 시켜준다. 그렇다면 실제 서버에서는 만들어진 jar나 war 파일을 실행시키기만 하면 아무런 문제 없는 것이다!

실제 배포 시에도 이런 빌드 과정을 거쳐서 jar나 war 파일이 전달되기 때문에 Local PC Test 때와 CI/CD를 진행할 때 최대한 동일한 테스트 결과를 내기 위해 테스트를 진행할 때 Gradle로 jar나 war 파일로 만들어 Test를 진행하도록 Default Build and Run이 Gradle로 설정되어 있는 것이다.

 

문제는 코딩할 때이다.

내가 기능 하나를 추가시켰다. 그리고 이 기능에 대해 테스트를 진행해보고 싶다.

그런데 기능을 실험할 때 마다 Build and Run을 진행시키면 프로젝트를 jar나 war 파일로 만들어 이를 실행시키고, 실행 이후 원하는 기능을 테스트하는 과정을 거치게 된다.(즉, 테스트 때마다 빌드 과정이 일어나는 것이다)

 

코딩을 할 때는 이미 필요한 라이브러리나 의존성 등의 설정이 다 되어 있는 상태인데, 굳이 테스트를 하거나 코드를 확인할 때마다 Gradle을 통해 빌드시켜 진행할 필요가 없다. 단순히 존재하는 라이브러리를 활용해 빌드하지 않고 바로 테스트를 진행하면 될 것이다.

 

위 설정은 이런 방법으로 빌드 시 속도를 빠르게 줄인 것이다.

원래라면 프로젝트에 대한 테스트를 진행할 때 "Gradle을 통한 실행 파일 생성 → jar나 war 파일 실행 → 실행이 된 이후 내가 원하는 기능을 테스트" 과정을 거친다.

하지만 Build and Run이 IntelliJ IDEA로 설정되어 있다면 IntelliJ에서 바로 코드를 실행시킨다. 즉 jar나 war 파일을 만들어 실행시키는 과정이 생략되므로 더욱 빠른 실행이 가능해지는 것이다.

 

물론 Gradle Test는 CI 서버에서와 동일한 테스트 결과를 얻을 수 있다는 장점을 가지므로 개발 중간 과정 테스트 시에는 IntelliJ IDEA를 통해 Build and Run을 수행하다 마지막 Test를 실행할 때는 Gradle로 설정을 바꿔 최종적으로는 Gradle Test를 진행하는 것을 추천한다.

 

◎ 한글 깨짐 방지 설정

File Encdoing 검색 후 Global Encoding, Project Encoding, Properties Files를 UTF-8로 변경 & Properties Files의 Transparent native-to-ascii conversion 체크

 

◎ 사용하지 않는 클래스(혹은 인터페이스)를 import할 때 이를 자동으로 삭제시키기

Auto Import 검색 후 Optimize imports on the fly 활성화

 

◎ IntelliJ 실행 시 최근 종료시킨 프로젝트 자동 실행 방지

만약 여러 개의 프로젝트를 IntelliJ에서 진행하고 있다고 가정하자.
A 프로젝트를 진행하다 종료하고, 다음날 B 프로젝트를 진행하고 싶을 상황이 있을 것이다(생각보다 많을 것이다)
하지만 IntelliJ의 Default 세팅으로는 마지막으로 종료시킨 A 프로젝트를 먼저 자동으로 띄울 것이다.
물론 A 프로젝트에서 Open을 통해 B 프로젝트를 열 수도 있지만, 그냥 IntelliJ를 열었을 때부터 A 프로젝트를 선택 할지 B 프로젝트를 선택할지 정할 수 있으면 좋을 것이다.
이를 위한 설정 방법이다.

System Settings 검색 후 Reopen Projects on startup 선택 해제

 

◎ IntelliJ 자바 버전 일치시키기

내 컴퓨터에는 JAVA 8 버전을 활용하고 있다고 가정하자
그런데, IntelliJ에서는 JAVA 11 버전을 활용하고 있다면 버전 차이로 인한 문제가 발생할 수도 있을 것이다.
따라서 항상 프로젝트를 진행하기 이전 IntelliJ 측에서 설정한 자바 버전과 Project의 Gradle이 설정한 자바 버전이 일치하는지 확인하고 다르다면 이를 일치시키는 작업이 필요하다.

방법 1 : Gradle이 설정한 자바 버전을 미리 사용하고 있던 자바 버전과 일치시키기

  1. build.gradle 파일 들어가기
  2. sourceCompatibility 설정값을 원래 있던 자바 버전의 숫자로 변경

방법 2 : 새롭게 jdk 버전을 설치하여 Gradle JAVA 버전값과 맞추기

  1. build.gradle의 sourceCompatibility 값 확인 후 해당 버전 jdk 설치
  2. File → Project Structure에서 Project SDK를 설치한 jdk로 변경
    • 따로 설치하지 않고 IntelliJ 시스템 상에서도 버전 설치 가능
    • 아래 사진에서 Add SDK 클릭 이후 Download JDK를 선택하면 여러 버전의 jdk를 설치할 수 있음
  3. File → Settings에서 Gradle 입력 후 Gradle JVM을 설정했던 jdk version으로 변경 후 적용

2번 과정
3번 과정. Gradle JVM을 2번 과정에서 설치한 jdk 17 Version으로 변경했다

'웹 개발 > Spring(이론)' 카테고리의 다른 글

스프링 컨테이너와 스프링 빈  (0) 2022.08.03
Spring  (0) 2022.08.02
IntelliJ 단축키 + 추천 코딩 방법  (0) 2022.08.02
IntelliJ에 Github 연동하기  (0) 2022.08.02
Project 생성  (0) 2022.08.02
Comments