#Maven / Gradle ?
--> 빌드도구 :
빌드도구는 소스코드에서 어플리케이션 생성을 자동화 하기 위한 프로그램
빌드는 코드를 사용 or 실행 가능한 형태로 컴파일링 , 랭킹 , 패키징 하는것을 포함한다.
기본적으로 빌드 자동화는 아래와 같은 다향한 작업을 스크립팅 하거나 자동화 하는 행위
(스크립팅 : 상적인 작업을 돕기 위한 작은 프로그램을 작성함을 뜻하는 것 )
-종속성 다운로드
- 소스코드를 바이널코드로 컴파일
- 바이너리 코드를 패키징
- 테스트 실행
- 프로덕션 시스템에 배포
#그렇다면 빌드 도구를 사용하는 이유는 무엇인가?
--> 빌드프로세스를 수동으로 호출이 실용적이지 않다 . 무엇을 ? 순서 , 의존성 , 을 추적하기 쉽지 않기 떄문에 빌드 도구를 사용하면 이를 일관되게 할 수 있다.
Maven
|
Gradle
|
|
#장점 및 특징
-자바 전용 프로젝트 라이프사이클 관리 목적 빌드 도구이며 Ant의 불편을 개선하고자 만들어졋다.
- pom.xml을 이용한 정형화된 빌드 시스템
( 네트워크를 통해서 자동으로 받아줌)
-간단한 설정을 통한 배포관리 가능
#Maven설정파일
- setting.xml
- pom.xml
|
#장점 및 특징
- Maven과 Ant의 장점을 조합하여 만든 빌드 도구
- build.gradle을 이용한 정형화된 빌드 시스템이다
- 멀티 프로젝트에 용이하다
#Gradle 설정파일
- build.gradle
-Maven의 pom.xml과 비슷한 플러그인 ,의존 성 추가를 위한 파일이다.
|
#Maven vs Gradle
--> Gradle 승 : 시기적으로 늦게 나온만큼 Maven에서의 단점은 줄이고 사용성 및 성능을 증가
##gradle이 Maven보다 좋은점
-bulid라는 동적인 요소를 xml로 정의하기에는 어려운 부분이 많다.
-설정 내용이 길어지고 가독성이 떨어짐
-상속구조를 이용한 멀티 모듈 구현
- 특정 설정을 소수의 모듈에서 고유하기 위해서는 부모 프로젝트를 생성하여 상속하게 해야함
( 상속의 단점이 생김)
-Gradle은 Groovy를 사용하기 때문에,동적인 빌드 Groovy스크립트로 플러그인을 호출하거나 직접 코드를 짜면된다.
-Configuration Injection 방식을 사용해서 공통 모듈을 상속해서 사용하는 단점을 커버햇다
-설정 주입 시 프로젝트의 조건을 체크할 수 있어서 프로젝트별로 주입되는 설정을 다르게 할수있다.
'[ETC] > - 개인공부' 카테고리의 다른 글
[TOMCAT] 톰켓 -verbosegc 옵션 (0) | 2022.06.08 |
---|---|
[개인공부]WAS(Web Application Server)의 종류 (0) | 2022.06.08 |
[개인공부] 소프트웨어 개발방법론(SW개발 방법론) 테일러링 (0) | 2022.06.08 |
만약 서버가 여러개라면? (0) | 2022.06.06 |
이클립스 입력 받기 (0) | 2022.06.06 |
댓글