::: IT인터넷 :::

IntelliJ 초기 환경 설정

곰탱이푸우 2023. 7. 31. 08:20
IntelliJ 설치가 완료되면 사용하기 위한 환경 설정을 진행한다.
 
사용할 프로젝트를 생성하고 환경 설정을 진행한다.
아래 설정은 대부분 임의의 프로젝트를 로드한 다음 진행해야 한다.
 
Nexus에 Maven 저장소를 설정하는 방법은 아래 포스팅을 참고한다.
 

Nexus에 Maven 저장소 설정 (for Scala Application)

Spark 어플리케이션 개발을 위해 Scala 개발 환경을 구성해야 하는 상황에 직면했다. Scala는 Java 기반의 함수형 언어이며, 빌드하면 Jar 파일이 생성된다. 생성 된 Jar 파일은 개발 단계에 따라 아래와

www.bearpooh.com

 

IntelliJ를 설치하는 방법은 아래 포스팅을 참고한다.

신규 프로젝트 생성

프로젝트를 처음 생성하는 경우에는 아래 두 가지 방법 중 하나를 선택한다.
  • 초기메뉴 > New Project
  • File > New > Project
 
New Project 창이 출력되면 좌측의 New Project를 선택하고 우측에 생성할 프로젝트 정보를 입력한다.
  • Name - 생성할 프로젝트 이름
  • Location - 생성할 프로젝트 파일 경로
  • Language - Spark 어플리케이션을 생성할 것이므로 Scala 선택
  • Build system - sbt 선택
 
 

JDK, sbt, Scala 버전 선택

JDK 버전 선택

로컬 개발 환경에 OpenJDK 1개 버전만 설치한 경우 자동으로 선택된다.
그러나 여러 버전의 JDK를 사용하는 경우 사용할 JDK 버전으로 변경할 수 있다.
 
생성 화면 중간에 JDK 항목에서 사용할 JDK 버전을 선택할 수 있다.
 
기존 프로젝트의 설정을 변경하는 경우에는 File - Project Structure 메뉴를 선택한다.
좌측 Project Settings의 Project를 클릭하고, 우측에 SDK 항목에서 사용할 JDK 버전을 선택한다.
 
없는 경우 아래 화살표를 클릭하고 Add - SDK를 클릭하고 경로를 선택한다.
참고로 OpenJDK를 설치한 경우 기본 Home Path는 /usr/lib/jvm/java-1.8.0-openjdk-amd64이다.
이후 기본 SDK를 사용할 버전으로 지정한다.

 

 

sbt와 Scala 버전 선택

sbt와  Scala를 사용할 버전으로 선택한다.
Spark 3.2.3 버전의 어플리케이션을 작성하기 위해서는 Scala 2.12.18, sbt 1.9.0 버전을 사용한다.
 
sbt 버전 선택
sbt 항목 우측의 드롭박스를 선택하면 0.13.18 버전부터 최신 버전인 1.9.1 (2023.07.04 기준) 버전까지 선택할 수 있다.
1.9.0 버전을 선택한다.

 

Scala 버전 선택
Scala 항목 우측의 드롭박스를 선택하면 2.10.0 버전부터 최신 버전인 3.3.0 (2023.07.04 기준) 버전까지 선택할 수 있다.
2.12.18 버전을 선택한다.
 
 

HTTP Proxy

프록시 사용이 가능한 폐쇄망인 경우 프록시 설정을 진행한다.
앞에서 프록시를 설정한 경우 생략한다.
IntelliJ 설치 과정에서 Proxy를 설정하는 방법은 아래 포스팅을 참고한다.
또한 인터넷 환경도 프록시 설정이 불필요하므로 생략한다.
 
File > Settigs > Apperance & Behavior > System Settings > HTTP Proxy 메뉴로 이동한다.
다음과 같이 설정한다.
  • Manual proxy configuration 체크
  • HTTP 체크
  • Host Name: 프록시서버 주소
  • Port Number: 프록시서버 포트
  • No proxy for: 프록시 적용 예외 주소 대역, 192.*, 172.*, 10.*, 127.*, localhost
  • Check connection : http://www.jetbrains.com 의 접근이 성공해야 한다.
 

Scala 플러그인 설정

IntelliJ 설치 직후 Scala 플러그인 설치를 진행한 경우에는 생략한다.
 
IntelliJ 설치 과정에서 Scala 플러그인을 설정하는 방법은 아래 포스팅을 참고한다.
만약 Scala 플러그인이 설치되지 않았다면 다음과 같이 진행한다.
 
프로젝트를 처음 생성하는 경우 File > New Project Setup > Setting for New Projects > Plugins 메뉴로 이동한다.
기존 프로젝트 설정을 변경하는 경우 File > Settings > Plugins 메뉴로 이동한다.
 
검색창에 Scala 플러그인을 찾고, Install 버튼을 클릭하여 설치한다.
만약 Thrift를 사용해야 하는 경우 Thrift support 플러그인도 설치한다. 나중에 필요할 때 설치해도 된다.
 
아래와 같이 표시되면 설치가 완료 된 것이다.

 

 

Key Map (키맵) 변경

IntelliJ의 편리한 기능 중 하나가 키맵을 변경할 수 있다는 것이다.
단축키를 즐겨 사용하는 경우 생산성에 아주 큰 영향을 미치는 요소이므로 아주 중요한 옵션 중 하나라고 할 수 있다.
 
특히 Microsoft의 Visual Studio 환경이 익숙한 사용자를 위해 Visual Studio 키맵을 제공한다.
추가로 Eclipse, Sublime Text, Windows 같은 키맵도 제공한다.
 
File > Settings > Keymap 메뉴로 이동한다.
우측의 GNOME이라 적혀있는 드롭박스를 선택하면 다양한 키맵을 선택할 수 있다.

 

Visual Studio를 선택하면 아래와 같이 Visual Studio에 최대한 가까운 키맵을 제공한다.
Run의 단축키가 Ctrl + F5로 변경된 것을 확인할 수 있다.
 

sbt 설정 변경

sbt 저장소 설정 변경

sbt를 설치하면서 저장소 (repository) 설정을 변경했다.
sbt 설치와 설정은 아래 글을 참고한다.
sbt를 설치하면서 사용할 저장소 목록은 ~/.sbt/repositories 파일에 작성했다.
또한 sbt가 해당 파일을 바라보도록 /etc/sbt/sbtopts 파일에  sbt.override.build.repos 옵션을 지정했다.
 
sbtopts 파일에 설정한 방법과 동일하게 IntelliJ의 VM parameter 항목에 해당 옵션을 설정한다.
File > Settings > Build, Execution, Deployment > Build Tools > sbt 메뉴로 이동한다.
우측의 VM parameters 항목에 아래 옵션을 입력한다.
  • -Dsbt.override.build.repos=true
 
아래와 같이 설정한다.
 
 

sbt의 JVM 인증서 설정 변경

이 부분은 사설 저장소를 사용하지 않거나, 자체 서명 인증서를 사용하지 않는 경우에는 생략한다.
 
sbt를 설치하면서 자체 서명 인증서 설정을 진행했다.
sbt 설치와 설정은 아래 글을 참고한다.
자체 서명 인증서의 검증를 생략하는 설정을 /etc/sbt/sbtopts 파일에 작성했다.
sbtopts 파일에 설정한 방법과 동일하게 IntelliJ의 VM parameter 항목에 해당 옵션을 설정한다.
 
sbtopts 파일에 설정한 방법과 동일하게 IntelliJ의 VM parameter 항목에 해당 옵션을 설정한다.
File > Settings > Build, Execution, Deployment > Build Tools > sbt 메뉴로 이동한다.

 

우측의 VM parameters 항목에 아래 옵션을 입력한다.
  • -Dmaven.wagon.https.ssl.insecure=true
  • -Dmaven.wagon.https.ssl.allowall=true
  • -Dmaven.wagon.http.ssl.ignore.validity.dates=true"
  • -Djavax.net.ssl.trustStore=$JAVA_HOME/jre/lib/security/cacerts
  • -Djavax.net.ssl.trustStorePassword=changeit
 
아래와 같이 설정한다.
 

sbt 기능 사용 범위 설정

IntelliJ에서 프로젝트를 생성하고 나면 하단에 sbt shell 탭과 Build 탭을 확인할 수 있다.
 
IntelliJ의 빌드와 테스트 작업들은 하단의 Build 탭을 통해 진행된다.
만약 sbt shell로 통합하여 사용하고자 하는 경우에도 옵션에서 설정할 수 있다.
 
File > Settings > Build, Execution, Deployment > Build Tools > sbt > sbt Projects 항목으로 이동한다.
 
아래 항목에 체크한다.
  • Download: Library sources
  • sbt shell의 use for (sbt shell 을 project와 build에 연동)
  • Enable debugging
 
Allow overriding sbt version 항목은 반드시 uncheck 한다.
해당 옵션은 build.properties 항목에 지정한 sbt 버전을 무시하고 호환 가능한 최신 버전으로 overriding 하는 옵션이다.
sbt의 신규 버전이 나올때마다 해당 버전으로 변경되기 때문에 안정적인 버전 관리가 어렵다.
특히 여러 사람이 참여하는 프로젝트의 경우 개발 머신마다 다양한 sbt 버전이 존재하게 되어 혼란의 원인이 되기도 한다.
따라서 해당 옵션은 반드시 Uncheck 해두고, build.properties에 고정 된 sbt 버전을 명시하는 것이 좋다.
 

 

다음과 같이 설정한다.
 
위의 내용은 IntelliJ 2023.1.3 버전을 기준으로 작성되었다.
IntelliJ의 신규 버전이 출시 될 때마다 UI (화면구성)이 변경되는 경우가 많으므로, 캡처 화면과 다르면 search 기능으로 찾아서 설정한다.