메이븐은 XML을 기반으로 의존성(dependency) 및 디렉터리 구조 관리 등의 기능을 제공하며 한동안 많이 사용되었다.
정해진 라이프 사이클을 따라서 배포하는데 표준 규칙이 있어서 프로젝트를 일관적으로 유지 관리할 수 있다.
라이브러리 의존성을 자동으로 관리해준다.
라이브러리가 추가되거나 각각의 라이브러리가 서로 다른 버전의 라이브러리를 참조하는 종속성을 가지고 있을 경우에는 관리가 어려워지는 문제가 있다. 그래서 의존 관계가 복잡한 프로젝트에는 부적절하다.
XML의 특징인 구조화는 사람이 알아보기에는 쉽지만 XML 문서의 양이 방대해지는 단점이 있습니다(가독성이 떨어짐).
이에 대한 대안으로 그레이들(Gradle)이 각광받고 있다. 그레이들은 JVM 기반의 빌드 도구(build tool)이며 메이븐 등과 호환됩니다. 그 외에도 설정이 간편하고, 프로젝트별로 유연하게 설정할 수 있는 등 여러 가지 장점이 있다.
깃과 같은 오픈소스 라이브러리들도 대부분 그레이들을 사용하며, 안드로이드의 경우에도 기본 빌드 도구로 그레이들을 사용하는 등 전 세계적으로 그레이들이 많이 사용되고 있다.
사용하는 그레이들 플러그인 : Buildship 플러그인