-
Maven , GradleLanguage/Java 2023. 11. 28. 00:01
보고 배운 사이트 1 : dev-coco.tistory
보고 배운 사이트 2 : techblog.woowahan
보고 배운 사이트 3 : charlezz
Maven
- java 용 프로젝트 관리 도구
- Apache에서 ant 대안으로 만든 오픈소스 소프트웨어.
- 프로젝트의 전체적인 라이프 사이클을 관리해주는 도구.
- 프로젝트에서 사용 할 라이브러리들을 관리해주는 도구.
- 특히 장점인 부분으로, 사용할 라이브러리와 관련되어있는 부수적인 라이브러리들을 네트워크를 통해 자동으로 업데이트 해준다.
POM : Project Object Model
maven의 기능을 사용하기 위해 pom.xml이 사용된다. pom.xml에서 주요하게 다루는 기능은 다음과 같다.
- 프로젝트 정보 : 프로젝트의 이름
- 빌드 설정 : 소스, 리소스, 라이프사이클 별 실행한 플로그인 등 빌드와 관련된 설정
- 빌드 환경 : 사용자 환경 별로 달라질 수 있는 프로파일 정보
- pom 연관 정보 : 의존 프로젝트(모듈), 상위 프로젝트, 포함하고 있는 하위 모듈 등
Gradle
- 빌트, 프로젝트 구성/관리, 테스트, 배포 도구
- 안드로이드 앱의 공식 빌드 시스템
- 빌드 속도가 Maven에 비해 10~100배 가량 더 빠름
- Java, C, C++, Python 등을 지원
- 빌드 툴인 ant builder와 groovy(jvm에서 실행되는 스크립트 언어) 스크립트 기반으로 만들어져 기존 ant의 역할과 배포 스크립트 기능을 모두 사용
Gradle DSL
- Domain Specific Language
- 특정 분야에 최적화 된 프로그래밍 언어를 뜻한다.
- 선언적 코드 형식을 따른다.
Kotlin DSL ? Groovy DSL ?
kotlin dsl 파일은 그래들 5.0버전부터 지원하기 시작했다.
두 파일의 차이점으로는 다음과 같은 것들이 있다.
- 우선 이 두 파일은 확장자가 다르다. kotlin dsl 파일은 groovy dsl 확장자 끝에
.kts
가 붙는다. - kotlin dsl 파일에서만 코드 자동 완성 기능 존재
- kotlin dsl 파일에서만 오류 코드 강조 기능 존재
- kotlin dsl 파일에서만 컴파일 타임에 에러 확인 가능
- 클린 빌드 시 kotlin dsl이 groovy dsl보다 느리다.
- kotlin dsl은 java 8 이상에서만 동작
'Language > Java' 카테고리의 다른 글
Thread (0) 2023.11.29 제네릭 Generic 프로그래밍 (0) 2023.11.28 SQLite (0) 2023.11.25 Stream_3: 중간 연산자 (0) 2023.11.25 Stream_2: 시작 연산자 (0) 2023.11.25