코드와이
Maven & Gradle 본문
빌드 관리 도구
- java 코드와 프로젝트 내에 필요한 각종 xml, properties, jar 파일들을 JVM인 WAS가 인식할 수 있도록 패키징 해주는 빌드 과정( = 빌드 자동화 도구)
- 프로젝트 생성, 테스트 빌드, 배포 등의 작업을 위한 전용 프로그램
- 외부 라이브러리들을 다운로드하고 해당 라이브러리를 사용하여 개발해야하는 많은 경우에 이를 간편히 관리해주는 도구
Maven
- Java용 프로젝트 관리도구로 Apache의 Ant 대안으로 만들어졌다.
- 빌드 중인 프로젝트, 빌드 순서, 다양한 외부 라이브러리 종속성 관계를 pom.xml 파일에 명시한다.
- maven은 외부 저장소에서 필요한 라이브러리와 플러그인들을 다운로드 한 다음, 로컬시스템의 캐시에 모두 저장한다.
Gradle
- 꽤 큰 규모로 예상되는 multi-project 빌드를 도울 수 있도록 디자인 되었다.
- Gradle은 프로젝트의 어느 부분이 업데이트 되었는지 알기 때문에 빌드에 점진적으로 추가할 수 있다.
- 업데이트가 이미 반영된 빌드의 부분은 더이상 재실행되지 않는다. => 빌드 시간이 훨씬 단축
Maven vs Gradle
Maven | Gradle |
고정적이고 선형적인 단계의 모델 | 작업 의존성 그래프 |
빌드 시간이 상대적으로 길다 | 빌드 시간이 상대적으로 짧다 |
특정 설정을 다른 모듈에서 사용하려면 상속을 받아야한다 |
설정 주입 방식을 제공 |
'기타' 카테고리의 다른 글
Thread란? (0) | 2021.11.29 |
---|---|
디자인 패턴의 개념과 종류 (0) | 2021.11.29 |
Web Server vs WAS (0) | 2021.11.29 |
형상관리 툴(CVS, SVN, Git) (0) | 2021.11.29 |
[기타] 프레임워크 vs 라이브러리 (0) | 2021.11.29 |