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}"