[JAVA] IntelliJ IDEA - Project language level 설정의 의미
Project Structure
IntelliJ IDEA의 Project Structure 창에서 Project SDK, Project language level 설정을 찾을 수 있다.
※ 참고 - Project Structure
상단 메뉴의 File - Project Structure 클릭 혹은 단축키 Ctrl + Alt + Shift + S (윈도우 기준)
Project language level은 실제로 무엇을 설정하는가?
Project language level은 IntelliJ의 editor(편집기)와 java compiler가 사용할 language level을 설정한다. 예를 들어, JDK 1.7을 사용하고 있지만 java 코드가 JDK 1.6과 호환되도록 하려면 language level을 실제 JDK 지원(JDK 1.7의 경우 7.0)보다 낮은 6.0으로 설정하면 된다.
C:\>javac -help
Usage: javac <options> <source files>
where possible options include:
-source <release>
Provide source compatibility with specified release
-target <release>
Generate class files for specific VM version
Java 컴파일러 명령인 javac의 옵션을 보면 -source 및 -target 옵션을 통해 Java의 대체 버전을 기준으로 컴파일할 수 있음을 알 수 있다. 이를 통해 Project language level은 IntelliJ에게 특정 Java 언어 버전에서 제공된 Java SDK를 사용하도록 지시한다.
그래서 Java 7이 설치되어 있어도 language level을 6.0으로 설정할 수 있고, IntelliJ는 Java 7 대신 Java 6을 기준으로 코드를 확인하고, suggestion을 제공하며, 컴파일한다.
Project Structure - Project language level
Project language level을 눌러 목록을 보면 다양한 종류의 language level로 설정할 수 있음을 알 수 있다. SDK default는 사용하는 JDK와 동일한 language level을 사용하도록 한다.
모든 새로운 프로젝트의 Project lanuage level 설정하기
IntelliJ IDEA 메뉴
File - Other Settings - Structure for New Projects... 에서 모든 새로운 프로젝트의 language level을 설정할 수 있다.
Project Structure for New Projects
그러면 Project Structure for New Projects 창이 열린다. 여기서 Project language level을 원하는 옵션으로 설정하면 된다. 예전 버전에서는 설정을 해도 language level이 6.0으로 고정되는 버그가 있었다고 하는데, 나는 2019.3(Community edition)을 사용중이며 해당 버그가 발생하지 않는다.
'IDE Tool > IntelliJ IDEA' 카테고리의 다른 글
IntelliJ IDEA - 무료로 사용할 수 있는 교육 라이센스 받는 방법 (0) | 2021.04.20 |
---|---|
[JAVA] IntelliJ IDEA - try-catch문 등의 코드 블럭 자동 삽입 방법 (0) | 2021.04.20 |
[JAVA] IntelliJ IDEA - 프로그램 실행 argument 설정 방법 (0) | 2021.04.20 |
[IntelliJ IDEA] 맞춤법, 스펠링 체크 해제 방법 (0) | 2021.04.20 |
[JAVA] IntelliJ IDEA - jar 파일 export, import 방법 (0) | 2021.04.20 |
[JAVA] IntelliJ IDEA 사용 팁 - Auto import 옵션 설정 (0) | 2021.04.20 |
[인텔리J 오류] 인텔리J JSP reformatting 오류 (0) | 2021.04.05 |
[인텔리J] 인텔리J에서 스프링부트 프로젝트 생성하기 (0) | 2021.04.05 |