반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 스파크
- Databricks
- 프로그래머스
- lazy evaluation
- 지연연산
- ORACLE문법
- EMR 구조
- kafka 설치
- 하둡에코시스템
- Catalyst Optimizer
- 실행엔진
- 서버간 복사
- ORACLE MSSQL차이
- 카프카
- 프로그래머스 큰 수 만들기
- 데이터파이프라인
- 문맥교환
- 런타임데이터영역
- 데이터베이스복사
- AWS Crawler
- 하둡1.0
- 하둡2.0
- 데이터엔지니어링
- freenom
- 프로그래머스힙
- 하둡
- Spark 최적화
- 데이터 수집
- Spark
- 빌드도구
Archives
- Today
- Total
띵유로그
[빌드]Gradle 정리 본문
반응형
Gradle은 maven이후에 나온 빌드도구입니다.
maven과의 차이점
maven | gradle | |
처리속도 | 느림 | 빠름 (maven보다 최대 100배 빠름) |
작성언어 | xml | Groovy 스크립트 |
설정파일 | pom.xml | build.gradle |
멀티모듈 | 상속관계 | Configuration injection(설정주입) -> 설정 주입시 프로젝트 조건 설정가능 |
- maven 보다 빠른 이유 : 이미 빌드가 되어있으면 다시 빌드하지 않고 패스함.
- maven은 특정 설정을 몇개의 모듈에서만 공통적으로 사용하게 하려면, 부모프로젝트를 생성해서 자식들이 상속받게 해야합니다. 또 부모중 조금이라도 설정이 다르면 상속받지 못하고 설정을 하나하나 프로젝트에 넣어줘야합니다.
gradel은 공통설정을 조건에 따라서 특정 프로젝트에만 주입이 가능하기 때문에 상속을 위한 프로젝트는 필요가 없습니다.
gradle 대표 용어
- repositories
라이브러리가 저장된 위치
ex) mavenCentral, 넥서스 repository - mavenCentral
기본 Maven Repository - dependencies
라이브러리 사용을 위한 의존성 설정 - 의존성 구성
configuration | discription |
compile | 프로젝트를 컴파일할 때 필요한 의존성 라이브러리들을 추가한다. (gradle 3.0이후 사라짐 -> api, implementaion) |
runtime | 프로젝트를 실행할 때 필요한 의존성 라이브러리들을 추가한다. 기본적으로 컴파일 타임을 모두 포함한다. |
testCompile | 테스트 소스 프로젝트에서 컴파일 시 필요한 의존성을 추가한다. 기본적으로 컴파일 된 클래스들과 컴파일 의존성을 포함한다. |
testRuntime | 테스트가 실행 될 때 필요한 의존성을 추가한다. 기본적으로 컴파일, 런타임과 테스트 컴파일의 의존성도 포함한다. |
api | Project의 일부로 노출되는 소스를 컴파일하는데 필요한 종속성 컴파일타임, 런타임 의존성 모두 있음. |
implemention | 런타임시 이용은 가능하나 컴파일시 다른 모듈로 유출되지 않음. (소스코드 접근 불가) 즉, 런타임 의존성만 있음 |
- api, comile, implementaion 의 차이정리
A(api) <- B <- C : C에서 A 접근 가능. A 수정시 B와 C 모두 재빌드
A(implementaion) <- B <- C : C에서 A 접근 불가능. A 수정시 B까지 재빌드
예시
참조)
반응형
'기타' 카테고리의 다른 글
maven 저장소 내 lastupdated 파일 모두 지우기 (0) | 2022.05.11 |
---|---|
[Intellij] certificate setting 경고 제거 (0) | 2022.04.08 |
[빌드] Maven 관련 용어 정리(archetype, GroupId, ArtifactId,...) (0) | 2022.03.11 |
윈도우 서버내 파일을 S3에 백업 (0) | 2022.02.16 |
한글 인코딩 정리 (문자체계와 인코딩) (0) | 2021.11.12 |
Comments