본문 바로가기
코딩/Maven

[Maven] 메이븐 JDK버전 변경해보기

by 인생최적화 2020. 6. 21.
반응형

 

플러그인의 속성을 이용해서 JDK 버전 바꿔보기

 


 

본 포스팅은 제가 유튜브 뉴렉처님 메이븐 강의를 공부하면서 내용을 정리하는 공간입니다 만약 저와 똑같이 공부를 진행해보고 싶으시다면 메이븐 카테고리의 글들을 참조 바랍니다 링크는 걸어둘게요
https://happy-inside.tistory.com/category/%EC%BD%94%EB%94%A9/Maven

 

'코딩/Maven' 카테고리의 글 목록

자기계발을 통한 동기부여를 바탕으로 성공의 길로 향하는 개발자의 블로그입니다

happy-inside.tistory.com

 


 

메이븐에는 단계(Phase)라고 하는 것이 있고 단계들은 플러그인들과 연결되어 있습니다. 플로그인은 미리 설정이 되어 있는 것과 없는 것이 있습니다.

'compile'단계를 수행하고 있는 것은 'org.apache.maven.plugins:maven-compiler-plugin:3.1:compile'이라는 플러그인이며, 이것은 메이븐 프로젝트가 지원하고 있는 플러그인입니다. 'compile'플러그인의 속성은 메이븐 공식홈페이지에서 볼 수 있는데 'compile'을 담당하고 있는 플러그인의 경우 두 가지의 'Goal' - [compiler:compile goal]과 [compiler:testCompile goal]을 갖고 있습니다.

사실 'Goal'이란 플러그인의 하위 프로그램이며 실질적인 플러그인 역할을 담당합니다. 플러그인은 단계마다 동일한 플러그인을 사용할 수 있으며, 그 안에서 작은 'Goal'들이 각 단계를 책임지는 실질적인 역할을 수행합니다.

 


 

플러그인의 속성을 이용해서 JDK버전을 바꿔보겠습니다

 

 

이전에 'pom.xml'코드에 추가했었던 설정 코드를 지우고 저장합니다

 

 

[메이븐 프로젝트] - [마우스 우클릭] - [Maven] - [Update Project] - [OK]

 

 

JDK버전이 1.8에서 1.5로 바뀌는 걸 볼 수 있습니다

 


 

JDK 1.5버전이 원래는 기본 버전입니다. 커맨드 창에서 최초 메이븐 프로젝트를 생성할 때 'archetype'을 메이븐의 'quickstart'버전으로 만들었는데 이 버전의 기본 JDK가 1.5버전입니다. 이 설정을 바꾸려면 컴파일 플러그인 'Goal'의 설정을 바꿔야 합니다.

'pom.xml'에 코드를 추가합니다

 

<build>
  	<plugins>
  		<plugin>
  			<artifactId>maven-compiler-plugin</artifactId>
  			<version>3.8.1</version>
  			<configuration>
  				<source>1.8</source>
  				<target>1.8</target>
  			</configuration>
  		</plugin>
  	</plugins>
  </build>

 

 

코드를 추가하면 저장

추가한 코드의 내용은 플러그인의 버전을 3.8.1로 높이고 구설설정을 통해서 '소스코드-1.8, 타겟-1.8로 설정'한다는 뜻이며 이런 식으로 플러그인 설정을 재정의할 수 있습니다. 기본설정이 바껴서 내가 추가한 코드로 오버라이드 됩니다. 이제 컴파일하면 추가한 코드대로 적용이 되는 것입니다.

 

 

다시 'Update Project'를 해줍니다

 

 

JDK버전이 1.5에서 다시 1.8로 바뀐 것을 볼 수 있습니다

 


 


<properties>
	    <maven.compiler.source>1.8</maven.compiler.source>
	    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>

'메이븐 컴파일러의 플러그인의 소스와 타겟의 속성을 1.8로 바꾸겠다'라는 코드

사실 컴파일러 플러그인이 버전이 올라가면서 3.6이상 버전부터는 소스버전, 타겟버전을 바꿀 때 플러그인 설정을 오버라이드 하는것처럼 할 필요가 없습니다. 맨 처음 지웠던 소스코드가 사실은 버전이 업그레이드 되고 나서 적용하는 새로운 방식이었습니다. 단순하게 JDK버전을 손데는 데는 이것만으로도 충분합니다. 플러그인의 다른 다양한 속성들을 건드려면 플러그인이라는 것을 이용해서 속성을 변경해야 합니다.

 


 

 

이클립스는 빈 프로젝트에서 시작하지만, 메이븐은 남이 만든 'archetype'을 이어서 개발할 수 있게 되어있습니다. 프로젝트를 만들 때 모델로 할 수 있는 'type'이 몇 개가 되는지 알아보려면 커맨드 창에서 내 메이븐 프로젝트 디렉토리로 경로 이동을 한 후 'mvn archetype:generate'를 입력하면 알 수 있습니다.

수많은 'archetype'들이 있지만 자세히 알 필요는 없습니다. '정의하지 않고 기본적으로 사용한다'라고 하면 'maven quickstart'아키타입이 사용됩니다. 이것으로 자바프로젝트를 만들고 그것을 JDK를 변경해봤던 것입니다.

 


 

도구는 필요한만큼만 알아가는 것입니다

'인생최적화'

 

 

반응형

댓글