maven compiler source and target
pom.xml 파일 안을 보면 다음과 같은 부분이 있다.
<properties>
<maven.compiler.source>7</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
</properties>
이 부분은 무엇을 위한 옵션일까?
maven.compiler.source: 소스파일의 Java 버전(문법)
maven.compiler.target: 컴파일 된 바이트 코드가 실행될 JVM 버전
compoiler source를 위한 간단한 실험을 한 번 해보자.
실험1
다음과 같이 pom.xml에서 source를 8로 맞추어 주었다.
소스파일에서는 Java 8에서부터 도입된 stream과 lambda를 사용하고 있다.
이 상태에서 실행을 하거나 컴파일을 하게 되면 문제 없다.
실험2
다음과 같이 pom.xml에서 source를 7로 낮추었다.
소스파일로 가보면 IDE에서 다음과 같이 오류를 보여준다.
이 상태에서 컴파일은 불가하게 된다.
결론
즉, maven.compiler.source는 컴파일러에게 "나는 소스 파일을 이 버전으로 작성할거야" 라고 알려주는 역할을 하며, compiler는 당연하게도 소스 파일을 해당 버전에서 기대되는 문법과 기능으로 해석하려 할 것이다.
Author And Source
이 문제에 관하여(maven compiler source and target), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@cautious_taco/maven-compiler-source-and-target저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)