IntelliJ의 터미널을 wsl로 바꿔보자 (w. Java)

🔥Log·2022년 10월 21일
4

WSL

목록 보기
2/3

😁 시작

많은 개발자들이 맥을 사용한다.
하지만 극강의 효율충인 나는, 맥북의 비싼 비용과 윈도우에서는 잘되지만 맥에서는 잘되지 않는 다양한 프로그램들 때문에 윈도우를 선호한다.

But.. 개발할 때 만큼은 Unix계열의 OS에 대한 필요성이 많이 느껴진다. 별에 별 에러를 실제로도 많이 겪었었다. 환경변수 길이가 조금 길다고 명령어가 실행이 안된 적도 있고, 도커와 연동해서 개발할 때에도 복잡한 추가 설정들을 엄~청나게 해줬어야 했다.

But! WSL이 등장하면서 이런 문제들은 말끔하게 사라졌다 😎😎😎
그리하여, 이번 글에서는 IntelliJ에서 wsl을 사용하는 방법에 대해서 알아보겠다.

🔥 주의사항

윈도우 컴퓨터에 WSL2가 반드시 설치되어 있어야한다. 설치법은 여기를 참고하자.



🧐오늘 할 거

  1. IntelliJ의 터미널을 wsl로 설정하기 (나는 Ubuntu20.04로 할 예정)
  2. WSL에있는 코드를 IntelliJ에서 정상적으로 동작하게 하기
    -> Spring을 돌린다고 한다면, wsl에 설치된 java를 참조하도록하는 것


0. wsl에 Java설치

java는 open jdk 11버전을 설치하겠다.
(선호하는 버전 및 라이센스가 있으면 해당 버전을 이용하면 됨)

1) java설치

wsl에서 아래의 명령어들을 순차적으로 실행한다.

sudo apt update
sudo apt install openjdk-11-jdk

2) java설치 확인

설치한 후에 java버전을 체크해서 정상적으로 설치됐는지 확인하자.

java --version

정상 설치 됐다면 이렇게 버전이 출력된다.



1. IntelliJ 설치

인텔리제이는 윈도우용 인텔리제이를 설치하면 된다. easy 😎
설치는 여기서



2. IntelliJ의 터미널 변경하기

1) JDK 설정

인텔리제이를 실행하고, New project를 누르면 이렇게 창이 뜬다. 그리고 jdk는 wsl에 설치된 jdk를 설정해주면 된다.
(intelliJ가 알아서 detect해서 셀렉박스에 보여줌 😁)

2) 터미널 설정

프로젝트를 생성 > File > Settings > 'terminal'검색

위의 경로를 따라가면 이렇게 창이 뜨는데, 여기서 shell path를 wsl.exe 로 설정해준다.



3. IntelliJ에서 wsl에 있는 프로젝트 열기

File > open 에 들어가면 wsl의 경로가 뜬다.
wsl에서 내 코드가 있는 곳을 찾아서 열어주면 된다.

(글을 쓰는 와중에 업데이트 했더니 갑자기 한글팩이 적용됨)



4. Gradle jvm설정

File > settings > 'gradle'검색 후 아래와 같이 JVM을 wsl에 설치된 java로 설정한다.



(이슈 1) 방화벽 이슈

아래와 같은 메세지가 뜨면서 프로그램이 빌드 또는 실행이 안되는 경우가 있다. 이럴땐 메세지에 나와 있는 대로 여기로 이동해서 하라는대로 조치를 취해주면 된다.

해결법 요약

  1. 파워쉘 관리자 권한으로 실행
  2. 아래 명령어들 순차적으로 실행
New-NetFirewallRule -DisplayName "WSL" -Direction Inbound  -InterfaceAlias "vEthernet (WSL)"  -Action Allow
Get-NetFirewallProfile -Name Public | Get-NetFirewallRule | where DisplayName -ILike "IntelliJ IDEA*" | Disable-NetFirewallRule

🤔 첫번째 명령어가 에러가 나면서 실행되지 않는다면?

1. Get-NetAdapter -IncludeHidden명령어를 Powershell에 실행해서 WSL 관련 Ethernet정보를 찾아낸다.
2. "vEthernet (WSL)"대신 정확한 Ethernet 이름을 입력해준다.
3. 아니면, 1, 2번 과정 대신 아래와 같이 이름에 Wildcard를 추가해서 명령어를 실행해보자.

New-NetFirewallRule -DisplayName "WSL" -Direction Inbound  -InterfaceAlias "vEthernet (WSL*"  -Action Allow


(이슈 2) Window Defender로 인한 IDE 멈춤 현상

섹션의 제목 그대로, Window defender가 활성화 되어 있으면, Intellij에서 코드를 Indexing할 때, IntelliJ가 멈춰버리는 현상이 발생한다. 이럴 때는 아래와 같이 조치를 취해주도록 하자.

  1. Windows 보안 > 바이러스 및 위협 방지 > 바리어스 및 위협 방지 설정
  2. 제외 추가 또는 제거에서 아래 2개의 프로세스(fsnotifier-wsl, idea64.exe)를 등록



☕ 마무리

위의 설정들을 마치고 예시로 Spring앱을 실행해보면 아래와 같이 정상적으로 동작하는 것을 볼 수 있다.
간단하면서도 막 간단하지만은 않았던 세팅이였다. ㅎㅎ

0개의 댓글

관련 채용 정보