반응형

빌드 도구 3

[Java] Java Build Tools 발전과정 - (3) Gradle

05. Gradle ( 2012 - ) Gradle은 Ant, Maven과 같은 이전 세대 빌드 도구의 단점을 보완하고 장점을 취합해 만든 오픈 소스 빌드 도구 프로젝트다. 기존 도구들이 xml과 같은 마크업 언어로 프로젝트를 관리했던 것과는 달리 Groovy기반의 DSL(Domain Specific Language)를 이용해 프로젝트를 관리한다. 최근에는 Kotlin DSL을 사용할 수 있게 되어서 Groovy기반 DSL의 아쉬운 부분(예를 들어 자동 완성 안됨)도 보완되었다. 또한 Gradle Wrapper를 이용해 Gradle이 설치되어 있지 않은 시스템에서도 프로젝트 빌드가 가능하다. 뒤늦게 개발된 빌드 도구라서 그런지 기존 도구를 대체할 많은 장점을 가지고 있다. Maven, Ivy같은 기존 저..

[Java] Java Build Tools 발전과정 - (2) Maven

04. Apache Maven ( 2004 - ) Maven은 "전문가"라는 뜻의 이디시어에서 따온 Ant의 대안 프로젝트다. Maven 프로젝트는 자바 기반 오픈소스들을 모아서 지원하기 위한 아파치의 자카르타 프로젝트 중에서 Servlet기반의 자바 웹 프레임워크인 터빈의 빌드 과정을 단순화하기 위해 시작되었다. 초기 터빈에는 몇 개의 Ant 빌드 파일이 존재했는데, Ant의 빌드 파일에는 어떠한 기준이 없으므로 서로 조금씩 달라서 어려움이 있었다. 따라서 이를 해결하기 위해 어떤 기준, 즉 프로젝트를 빌드하는 방법, 프로젝트 구성에 대한 명확한 정의, 프로젝트 정보를 게시하는 쉬운 방법, 그리고 여러 프로젝트에 걸쳐 jar파일을 공유하는 방법에 대한 기준이 필요했다. 그리고 그 결과가 Maven이다...

[Java] Java Build Tools 발전과정 - (1) Make vs Ant

자바를 빌드할 때 여러 가지 빌드 도구들을 사용할 수 있다. 현재는 Maven과 Gradle을 대표적으로 많이 사용한다. '둘 중 어느 것을 사용하는 것이 좋을까'에 대한 궁금증을 해소하기 위해 Google Trends를 이용해 두 단어의 검색량 추이를 비교해봤다. 절대적인 수치는 아니지만 사람들의 관심도를 통해 간접적으로 위 질문에 대한 해답을 얻을 수 있을 것 같다. 전세계를 상대로 검색량을 조사한 결과 2012년 Gradle 1.0이 발표된 이후 꾸준히 검색량이 증가하다가 현재는 주춤하는 모습이다. 2002년 발표된 Maven도 발표 이후 꾸준히 증가하다가 현재는 어느 정도 Gradle과 비율을 맞추고 있다. 아직까지 전세계에서는 Maven이 Gradle에 비해 3배 정도 관심도가 높은 것으로 보인..

반응형