IntelliJ 2023.3 - Full support for Java 21

식빵·2023년 12월 9일
0

intellij

목록 보기
14/18

Java 21 Full Support

저만 짜증난 걸지도 모르겠지만,
Intellij 2023.2 버전에서는 Jdk 21 를 완벽하게 지원하지 않았습니다.
간단한 Maven 프로젝트를 생성하고, Main 문 하나 돌리려고 할 때에도 추가적으로
제가 수동으로 세팅해줘야 하는 게 있었습니다.
그외에도 문법 자체를 인식 못하는 문제도 있었습니다.

하지만! 오늘 (2023-12-09) 아침에 인텔리제이에 새로운 업데이트가 있어서 했는데,
아래와 같은 release note 내용을 발견했습니다.

마침내!!



간단하게 아래처럼 maven 프로젝트를 생성하고 곧바로 테스트 가능합니다.


pom.xml 세팅

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>me.dailycode</groupId>
  <artifactId>java-new</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>jar</packaging>
  <name>java-new</name>


  <!-- (필수) properties 를 아래처럼 세팅! -->
  <properties>
    <java.version>21</java.version>
    <maven.compiler.source>${java.version}</maven.compiler.source>
    <maven.compiler.target>${java.version}</maven.compiler.target>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  </properties>
   
  <!-- 
    (이건 필수가 아닙니다!!!!)
  	spring boot dependencies version 정보 참조를 위한 bom import
  -->
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-dependencies</artifactId>
        <version>3.1.6</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <dependencies>
    <!-- 생략 -->
  </dependencies>
</project>



Jdk21 문법 사용하기

Virtual Thread 를 하나 생성해서 가볍게 돌려봤습니다.
그냥 순수하게 잘 돌아가는지만 확인하는 코드입니다.

package me.dailycode.new_jdk;

public class App {
	public static void main(String[] args) throws InterruptedException {
		
		Thread virtualThread = Thread.ofVirtual()
			.unstarted(() -> {
				System.out.println("who am i? " + Thread.currentThread());
			});
		
		virtualThread.start();
		virtualThread.join();
		
		System.out.println("End of Main Thread!");
	}
}



jdk21 preview 기능을 사용하고 싶다면?

알고 있겠지만, jdk 21 은 다양한 기능을 제공은 합니다만...
대부분이 preview 기능으로 나왔습니다. 그냥 좀 정식으로 내주지...

아무튼 이러한 preview 기능을 사용하고 싶으면 intellij 에서는 아래와 같이 간단하게
세팅만 바꿔주면 사용이 가능합니다.

(window 기준) ctrl + alt + shift + s 를 누르고 아래와 같이 세팅합니다.


이후에 아래처럼 String Template 기능을 가볍게 테스트해 볼 수 있습니다.

package me.dailycode.new_jdk;

public class App {
	public static void main(String[] args) {
		int i = 10;
		int j = 2;
		System.out.println(STR."\{i} + \{j} = \{i + j}");
	}
}

// 출력:
// 10 + 2 = 12 
profile
백엔드를 계속 배우고 있는 개발자입니다 😊

0개의 댓글