1. 메이븐(MAVEN)
- JAVA용 프로젝트 관리도구로 Apache의 Ant 대안으로 만들어짐
- 아파치 라이센스로 배포되는 오픈소스 소프트웨어
- 빌드중인 프로젝트, 빌드 순서, 외부 라이브러리 종속성 관계를 pom.xml에 명시
- 외부저장소에서 필요한 라이브러리와 플러그인들을 다운로드 한 다음, 로컬 시스템의 캐시에 모두 저장함
- 자신이 사용할 라이브러리 뿐만 아니라 해당 라이브러리가 작동하는데 필요한 다른 라이브러리들도 관리하고 네트워크를 통해 자동으로 다운로드 해줌
2. 그래들(GRADLE)
- Grooby 언어를 사용한 Domain Specific Language를 사용
- 설정파일 xml을 사용하는 MAVEN보다 코드가 훨씬 간결함
- 안드로이드 앱의 공식 빌드 시스템
- 빌드 속도가 MAVEN에 비해 10~100배 가량 빠름
- JAVA, C/C++, Python 등을 지원
- 프로젝트의 어느 부분이 업데이트 되었는지 알기 때문에 점진적으로 추가할 수 있다.
- 업데이트가 이미 반영된 빌드의 부분을 재실행하지 않음(속도가 빠른 이유)
pom.xml

builld.gradle

- 스크립트 길이와 가독성 면에서 gradle이 높음
- 빌드 실행결과 gradle이 우세함
- maven은 xml을 기반으로 의존성 및 디렉토리 구조 관리 등의 기능을 제공하며 많이 사용되지만, 라이브러기가 추가되거나 각각의 라이브러리가 서로 다른 버전의 라이브러리를 참조하는 종속성을 가지고 있을 경우 어려워지는 문제가 있음
- xml의 특징인 구조화는 장점이지만 문서의 양이 비대해지므로 gradle을 선호하고 있음
maven이 익숙해서 쓰고 있으신 분들도 혼자 프로젝트 생성해서 gradle로 사용해보시면 가독성과 속도 면에서 체감이 많이 되실거라고 생각합니다
감사합니다.
LIST
'프로그래밍 > Spring Boot' 카테고리의 다른 글
[Spring Boot] 스프링부트 jsp 연동 / 연결 (gradle) (0) | 2023.01.13 |
---|---|
[Spring Boot] 스프링부트 프로젝트 생성 (0) | 2023.01.13 |