티스토리 뷰

Server

[Spring] Maven vs Gradle

니용 2019. 9. 16. 17:32
반응형

Maven

기존의 Ant의 불편함을 보완하기 위해 출시

 

  • 쉬운 빌드
  • pom.xml 을 이용한 정형화된 빌드 시스템
  • 뛰어난 프로젝트 정보 제공
  • 개발 가이드 라인 제공

 

 

Gradle

Ant+Maven 의 장점만을 계승하여 Android OS의 빌드 도구로 선정

 

  • 유연한 범용 빌드 도구
  • Maven을 사용한 변환 가능 컨벤션 프레임워크 (100% 지원)
  • 멀티프로젝트(API가 여러 개라던지 서버가 분리되어 있는 경우)에서 사용이 유용
  • Apache Ivy에 기반한 강력한 DI(Dependency Injection) 관리
  • 원격 저장소, pom, ivy 파일 없이 연결되는 의존성 관리 지원
  • Groovy 문법 사용

 


 

 

Maven -> Gradle 

  • 문서화가 잘 되어 있음
  • 사용성, 성능 등의 Spec 향상 (빌드 속도 최대 100배 빠름)
  • XML로 치환하기 어려운 점을 보완
  • 긴 내용의 축약화
  • 의존관계가 없이 독립적 모듈화
  • 상속구조를 활용하기 위해 부모 프로젝트를 생성하지 않아도 됨

 


 

결론

 

확실히 이전부터 웹 프로그래밍을 배운 사람은 Maven이 눈에 더 익을 것이다.

Gradle을 활용하여 프로젝트를 진행하는 것이 다소 낯설고 생소한 것은 사실이다.

특히나 한국에서는 영어 문서를 읽고 그것을 활용하여 프로젝트를 생성하는 케이스가 적기 때문에

한글화되었거나 상세하게 작성된 문서를 보기 힘들다.

 

하지만 표현 방법은 정말 간단하다.

아래의 코드는 Maven을 사용하여 pom.xml에 작성된 내용이다.

이를 Gradle 로 치환해보자.

 

이를 더 간단히 바꿔보면

또는

이렇게 작성하면 된다.

여기서 규칙을 찾아볼 수 있다.

그룹명(group)을 첫 번째로,

이름(name)을 두 번째로,

버전(version)은 선택(안넣으면 최신 것으로 매핑),

사이사이에 ":" 을 넣어주면 끝.

 

정말 쉽죠?

 

참고: http://egloos.zum.com/kwon37xi/v/4747016

 

Maven을 넘어 Gradle로 가자.

Maven을 써 본 사람들은 대부분 느끼리라 생각하지만 매우 경직돼 있고 그로인해 무언가 Maven이 기본 지원하지 않는 빌드 과정을 추가해야 할 경우 고생이 이만 저만이 아니다. 이에, 요즘 Maven 대한 대안이 많이 나오고 있으며 그 중 가장 돋보이는 것이 Gradle(Groovy 기반)이 아닌가 싶다. 그래서 차기 프로젝트의 빌드 툴로 Gradle을

egloos.zum.com

https://mvnrepository.com/

 

Maven Repository: Search/Browse/Explore

Quarkus SmallRye Reactive Streams Operators Deployment Last Release on Sep 15, 2019

mvnrepository.com

 

위의 Maven Repository에서 필요한 DI의 기능이 모두 검색이 가능하다.

자주 애용하여 Gradle 프로젝트 마스터가 되는 날까지!

반응형

'Server' 카테고리의 다른 글

[Java] NPE와 Optional Class  (1) 2019.10.26
[Java] Lambda와 Stream(2)  (0) 2019.10.15
[Java] Lambda와 Stream(1)  (2) 2019.10.15
REST의 정체는?  (1) 2019.10.15
[Spring] Annotation과 MVC  (1) 2019.09.17
[Spring] Spring Framework & Spring Boot  (1) 2019.09.16
댓글
공지사항