ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Maven vs Gradle
    Computer 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

    댓글

Designed by Tistory.