본문 바로가기
Dev/Language

[Java] Maven과 Gradle

by haerr 2024. 12. 28.

Java 및 Android 개발에서 자주 사용하는 빌드 도구 MavenGradle에 대해 내가 알아본 내용을 바탕으로 내용을 정리했다.

 

1. 빌드 도구란?

빌드 도구는 프로젝트를 컴파일, 테스트, 의존성 관리, 패키징 같은 작업을 자동으로 처리해주는 도구이다.

우리가 소스 코드를 작성하면, 이 도구가 이를 컴퓨터가 실행할 수 있는 상태로 만들어준다.

 

2. Maven과 Gradle의 기본 개념

 

3. Maven이란?

Maven은 정형화된 프로젝트 관리를 돕는 도구로, XML 파일인 pom.xml에 의존성과 설정을 적는다.

 

특징

표준화된 구조를 제공해 초보자도 쉽게 사용할 수 있음.

프로젝트에서 필요한 라이브러리(의존성)를 자동으로 다운로드.

Java/Spring 개발에 널리 사용됨.

 

프로젝트 구조 예시

 

Maven 주요 명령어

mvn compile : 소스 코드 컴파일.

mvn test : 테스트 실행.

mvn package : .jar 또는 .war 파일 생성.

mvn install : 로컬 저장소에 빌드 결과 저장.

 

4. Gradle이란?

Gradle은 최신 빌드 도구로, Groovy 또는 Kotlin DSL을 사용해 빌드 스크립트를 작성한다.

Android 개발에서 기본으로 사용되며, Maven보다 더 빠르고 유연하다.

 

특징

Incremental Build: 변경된 부분만 빌드해 속도가 빠름.

유연한 설정: 복잡한 빌드 작업을 쉽게 처리 가능.

Android, Spring 등 다양한 환경에서 최적화된 플러그인 제공.

 

Gradle 주요 명령어

gradle build : 프로젝트 빌드.

gradle test : 테스트 실행.

gradle dependencies : 의존성 확인.

gradle tasks : 사용 가능한 작업 목록 확인.

 

5. 어떤 도구를 선택해야 할까?

Maven:

    단순한 Java/Spring 프로젝트를 진행할 때 적합.

    표준화된 구조를 선호하거나, 설정이 복잡하지 않은 경우 추천.

 

Gradle:

    Android 프로젝트에서 필수.

    빠른 빌드 속도와 복잡한 작업 처리가 필요한 경우 추천.

 

6. 정리

Maven과 Gradle은 각기 다른 특징을 가진 빌드 도구로, 프로젝트 성격에 따라 적합한 도구를 선택하면 된다.

Maven은 단순하고 표준화된 개발 환경에 적합하고, Gradle은 유연성과 성능을 중시하는 환경에서 빛을 발한다.

 

 

Tip: Gradle로 넘어가는 추세이지만, Maven도 여전히 많은 프로젝트에서 사용되고 있으니 둘 다 알아두면 좋다고 한다! 💪