SPRING

빌드 도구 Maven VS Gradle

개발하는고양이 2023. 12. 7. 13:06
반응형

 

스프링부트에서 프로젝트를 세팅할때, build를 maven 또는 gradle로 선택할 수 있다. 여기서 build란 무엇일까?

 

Build

개발자가 작성한 코드(.java)를 프로젝트에서 쓰이는 자원을  packaging하는 과정과 결과를 뜻한다.

빌드시 작업되는 것들은 다음과 같다.

  1. Processing - 종속성 다운로드
  2. Compile - 소스코드를 바이너리 코드로 컴파일
  3. Packaging - 바이너리 코드를 패키징
  4. Testing - 테스트 실행
  5. Distribution - 배포

그 결과는 jvm이나 톰캣과 같은 WAS 가 인식할 수 있어 실행할 수 있다.

빌드 도구는 애플리케이션을 생성하면서 필요한 라이브러리들을 자동으로 관리해주는 작업을 해주어 사용자가 관리할 필요없다.
빌드 툴로는 Maven, Gradle이 있다.

 

Maven

대표적인 자바 빌드 도구 역할과 더불어 LifeCycle 관리를 해준다.

필요한 라이브러리는 pom.xml 파일에 적는다.

 

Gradle

Maven을 대체할 수 있는 빌드 도구, 스프링 부트와 안드로이드에서 사용된다.

Groovy 스크립트언어로 구축되었다. (Groovy는 JVM에서 실행되는 스크립트언어이다. 자바와 호환된다.)

Maven 보다 빌드 속도가 빠르다.

 

Maven VS Gradle

Maven - pom.xml

<dependencies>
	<dependency>
		<groupId>org.projectlombok</groupId>
		<artifactId>lombok</artifactId>
		<version>1.16.16</version>
		<scope>provided</scope>
	</dependency>
</dependencies>

 

Gradle - build.gradle

dependencies {
	compileOnly "org.projectlombok:lombok:1.16.16"
}

 

메이븐과 비교하자면, 가독성, 재사용성,편리함 모두 우세하다.

반응형

'SPRING' 카테고리의 다른 글

3. 인증 관련 구조와 내부 동작  (1) 2023.12.23
2. Spring Security란?  (1) 2023.12.23
1. 인증 방법 - 쿠키,세션,jwt  (1) 2023.12.23
Packaging Jar VS War  (0) 2023.12.07
자바,스프링,스프링부트 간단한 개념과 차이점  (1) 2023.12.07