-
Maven vs GradleComputer Science/JAVA 2021. 1. 18. 00:05
빌드 관리 툴이란?
프로그래밍 개발이 발전됨에 따라 필요한 라이브러리들은 점점 많아지고, 이들을 일일이 관리하기에는 어려움이 따릅니다. 그래서 만들어 진것이 빌드 관리 툴!
- 소스 코드를 컴파일, 테스트 등을 실행하여 실행 가능한 애플리케이션을 자동 생성합니다
- 라이브러리를 자동 추가 및 관리해줍니다
- 라이브러리의 버전을 자동으로 동기화해줍니다
초창기 java의 빌드 도구는 Apache Ant를 사용하였고, Ant의 단점들을 해소하기 위해 만들어 진것이 Apache Maven입니다
Maven 특징
- 라이브러리들을 네트워크를 통해 자동으로 다운 받아줍니다
- pom.xml을 이용해 정형화된 빌드 시스템을 제공합니다
- 개발 가이드 라인을 제공합니다
- 테스트 소스 코드를 별도의 병렬 소스 트리에 보관
- 테스트 케이스 명명 규칙을 사용하여 테스트 위치 및 실행
- 테스트 케이스에 환경을 설정하고 테스트 준비를 위해 빌드를 사용자 정의하지 않아도 된다.
- 새로운 기능을 쉽게 설치할 수 있고 업데이트할 수 있음Gradle 특징
- jvm 위에서 동작하는 groovy라는 언어로 작성하게 됨(같은 자바 계열이다보니 xml보다는 친숙할지도)
- Ant와 Maven의 장점들을 가지고 만듬
- 빌드를 설명하는 풍부한 도메인 모델
- Android OS의 빌드 도구로 채택됨
- gradle 홈페이지에서는 maven보다 최대 100배의 속도를 낼 수 있다고 함Gradle vs Maven
- Gradle은 확장 가능한 방식으로 모델링되어 있음, Maven은 커스터마이징이 힘들다
- Gradle의 작업 회피 및 증분 메커니즘으로 더 빠른 빌드 속도를 낼 수 있다
- Maven이 오랫동안 사용되어진 빌드 관리 툴이기 때문에 좀 더 익숙하다는 측면은 있음
- maven은 xml, gradle은 groovy
Gradle을 선택하지 않을 이유가 없어 보임!
'Computer Science > JAVA' 카테고리의 다른 글
String, StringBuilder, StringBuffer (0) 2021.08.20 Object 클래스 (0) 2021.08.20 예외 처리 (0) 2021.08.12 JVM 이해하기 (0) 2021.01.12 Java 인스턴스 비교 (0) 2020.12.21