IntelliJ IDEA에서 OpenJDK 11 설정하기

SungBum Park·2021년 3월 1일
0

IntelliJ IDEA

목록 보기
1/3
post-thumbnail

개발 환경


  • MacOS
  • IntelliJ IDEA
  • Spring boot 2.4

1. OpenJDK 11 (For MacOS) 다운로드 받기


https://jdk.java.net/archive/ 이 링크에서 자신에게 맞는 OS 버전을 다운로드 받을 수 있다.

![https://velog.velcdn.com/images%2Fwouldbestar%2Fpost%2F8928473c-c61f-4df8-9989-26627f371b5c%2Fimage.png%5D(https%3A%2F%2Fimages.velog.io%2Fimages%2Fwouldbestar%2Fpost%2F8928473c-c61f-4df8-9989-26627f371b5c%2Fimage.png)

GA(General-Availability) 버전으로 일반적으로 사용가능한 버전이라는 뜻이다.

$ curl -C - <https://download.java.net/java/ga/jdk11/openjdk-11_osx-x64_bin.tar.gz> -O openjdk-11_osx-x64_bin.tar.gz

2. Spring Boot 프로젝트 만들기


먼저, Spring Initializr 로 스프링 부트 프로젝트를 만들자.

![https://velog.velcdn.com/images%2Fwouldbestar%2Fpost%2F9771ebda-5c1c-43c6-8f9a-3d4d727648b0%2Fimage.png%5D(https%3A%2F%2Fimages.velog.io%2Fimages%2Fwouldbestar%2Fpost%2F9771ebda-5c1c-43c6-8f9a-3d4d727648b0%2Fimage.png)

  • 여기서는 OpenJDK 11 버전이 설정이 되어 있지 않으므로 1.8을 그대로 두자
  • Next!

![https://velog.velcdn.com/images%2Fwouldbestar%2Fpost%2F0dcd0851-b9f2-4621-a54b-7d26f3cc8609%2Fimage.png%5D(https%3A%2F%2Fimages.velog.io%2Fimages%2Fwouldbestar%2Fpost%2F0dcd0851-b9f2-4621-a54b-7d26f3cc8609%2Fimage.png)

  • 대충..필요한 정보를 입력한다.
  • 빌드 도구는 Maven이든, Gradle이든 자신이 편한 도구를 사용하면 된다.
  • Next!

![https://velog.velcdn.com/images%2Fwouldbestar%2Fpost%2Ffe40ec88-14be-4c72-b918-68dd82a1e9ac%2Fimage.png%5D(https%3A%2F%2Fimages.velog.io%2Fimages%2Fwouldbestar%2Fpost%2Ffe40ec88-14be-4c72-b918-68dd82a1e9ac%2Fimage.png)

  • 간단히 스프링 부트를 실행시켜서 확인해 볼 목적으로 Web 정도만 추가하자.
  • Next! → 프로젝트 생성할 파일 설정하고 프로젝트 시작

3. OpenJDK 11 버전 설정하기


gradle 기준, 초기 모습은 다음과 같을 것이다.

plugins {
    id 'org.springframework.boot' version '2.4.2'
    id 'io.spring.dependency-management' version '1.0.11.RELEASE'
    id 'java'
}

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

test {
    useJUnitPlatform()
}
  • sourceCompatibility 는 자바 소스를 컴파일 할 수 있는 버전을 명시하는 곳인데, 1.8 버전으로 되어 있다.

Gradle, "sourceCompatibility" vs "targetCompatibility"?

먼저 인텔리제이의 Project Structure 창을 열자.

![https://velog.velcdn.com/images%2Fwouldbestar%2Fpost%2Fda3e419c-72ff-4f91-a281-de5c78fd221f%2Fimage.png%5D(https%3A%2F%2Fimages.velog.io%2Fimages%2Fwouldbestar%2Fpost%2Fda3e419c-72ff-4f91-a281-de5c78fd221f%2Fimage.png)

  • 여기도 1.8로 도배되어 있다.
  • 위 창의 탭 중에 SDKs 로 가자.

![https://velog.velcdn.com/images%2Fwouldbestar%2Fpost%2F9aa04aab-b880-469a-94aa-399e929cf3e8%2Fimage.png%5D(https%3A%2F%2Fimages.velog.io%2Fimages%2Fwouldbestar%2Fpost%2F9aa04aab-b880-469a-94aa-399e929cf3e8%2Fimage.png)

  • 버튼으로 다운로드 받은 OpenJDK 11 을 추가하자.
  • 버튼 → Add JDK... → 설치한 경로로 이동

![https://velog.velcdn.com/images%2Fwouldbestar%2Fpost%2F283e4d82-c606-466a-b4d2-a067a8e847db%2Fimage.png%5D(https%3A%2F%2Fimages.velog.io%2Fimages%2Fwouldbestar%2Fpost%2F283e4d82-c606-466a-b4d2-a067a8e847db%2Fimage.png)

  • 위처럼 Home 을 선택하여 추가하자.

이제 1.8로 도배된 설정들을 11로 다 바꾸자

![https://velog.velcdn.com/images%2Fwouldbestar%2Fpost%2F645b90a8-7f22-4ed8-abd5-98ff9d06f2df%2Fimage.png%5D(https%3A%2F%2Fimages.velog.io%2Fimages%2Fwouldbestar%2Fpost%2F645b90a8-7f22-4ed8-abd5-98ff9d06f2df%2Fimage.png)

  • 빨간 박스 클릭해서 11 버전으로 변경
  • 빨간 박스 아래에도 11 버전으로 변경되는지 확인할 것!
  • Modules 탭으로 이동

![https://velog.velcdn.com/images%2Fwouldbestar%2Fpost%2F9d3c8261-7fbd-4bd6-8496-9855787b2619%2Fimage.png%5D(https%3A%2F%2Fimages.velog.io%2Fimages%2Fwouldbestar%2Fpost%2F9d3c8261-7fbd-4bd6-8496-9855787b2619%2Fimage.png)

![https://velog.velcdn.com/images%2Fwouldbestar%2Fpost%2F9e654a0c-596b-47d4-9448-0f7f60352366%2Fimage.png%5D(https%3A%2F%2Fimages.velog.io%2Fimages%2Fwouldbestar%2Fpost%2F9e654a0c-596b-47d4-9448-0f7f60352366%2Fimage.png)

  • Dependencies 에서 위 빨간 박스 클릭하여 11 버전으로 변경!

마지막으로, Apply → OK

다시 build.gradle 파일로 돌아와서 아래와 같이 11 버전으로 변경!

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'

변경 후, gradle 적용하기

4. 적용되었는지 확인하기!


OpenJDK 11 버전이 정말로 정상적으로 적용되었는지, JDK 10 버전 이상부터 사용할 수 있는 var 변수를 써보자.

public class JavaVersionTest {

    @Test
    @DisplayName("JDK 11 버전이 정상적으로 동작하는지 테스트(실제로 var 변수는 JDK 10 버전부터 가능, 11 버전부터는 람다에서도 가능")
    void var_test() {
        var name = "CODEMCD";

        Assertions.assertThat(name).isEqualTo("CODEMCD");
    }
}
  • 위와 같은 간단한 테스트를 작성하여 정상적으로 동작하는지 확인해보자.

만약, var 변수를 사용할 수 없을 때는 인텔리제이 Preferences 로 가서,

![https://velog.velcdn.com/images%2Fwouldbestar%2Fpost%2Fac89d83e-67ce-4657-b941-5a3b3edfda24%2Fimage.png%5D(https%3A%2F%2Fimages.velog.io%2Fimages%2Fwouldbestar%2Fpost%2Fac89d83e-67ce-4657-b941-5a3b3edfda24%2Fimage.png)

  • 위 Project bytecode version이 11 버전인지 확인해보자!

참고자료


스프링 부트에 openjdk 11 추가하기: https://www.youtube.com/watch?v=RNsybT8_xKk

profile
https://parker1609.github.io/ 블로그 이전

0개의 댓글