관리 메뉴

나만의공간

Project language level은 무엇인가 본문

IT/JAVA

Project language level은 무엇인가

밥알이 2021. 12. 14. 14:50

Project language level은 Intellij의 편집기와 java Compiler가 사용할 language level을 설정할때 사용한다.

예를 들어 JDK1.8을 사용하고 있지만 java코드가 JDK11과 호환되도록 할려면 language level을 11으로 설정하면 된다.

일반적으로 Intellij File -> Project Structure에서 아래 이미지에 있는 메뉴에서 변경 하면 된다.

Project language Level이 다를 경우 오류 메시지

아래 이미지에서 빨간색 라인이 Edit JDK와 Compiler JDK가 다를경우 발생한다.

-. JDK10이상에서 지원 가능한 메소드로 표시된다.

 

Gradle 사용시 변경

Gradle Project는 위 메뉴에서의 변경보다는 Gradle 설정(build.gradle)파일에서 변경하면 된다.

build.gradle 파일에 아래와 같이 sourceCompatibility = 1.8을 JDK11로 변경해서 적용되도록 한다.

buildscript {
    ext {
        // java version
        javaVersion = JavaVersion.VERSION_11
    }
}

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

group 'com.study.ability'
version '1.0-SNAPSHOT'

// sourceCompatibility = "${javaVersion}"
 sourceCompatibility = 1.8

// compile encoding 설정.
tasks.withType(JavaCompile) {
    options.encoding = "UTF-8"
}

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter'
    // lombok
    annotationProcessor("org.projectlombok:lombok:1.18.8")
    implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.9.9'
    implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.8.1'

    testCompile group: 'junit', name: 'junit', version: '4.12'
}

추가로 target도 변경하고자 하면 동일하게 아래 내용을 추가하면 된다.

targetCompatibility = "${javaVersion}"

 

 

Comments