Maven , Gradle

김아무개·2023년 4월 29일
0

Java

목록 보기
6/23

보고 배운 사이트 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버전부터 지원하기 시작했다.

두 파일의 차이점으로는 다음과 같은 것들이 있다.

  1. 우선 이 두 파일은 확장자가 다르다.
    kotlin dsl 파일은 groovy dsl 확장자 끝에 .kts 가 붙는다.
  2. kotlin dsl 파일에서만 코드 자동 완성 기능 존재
  3. kotlin dsl 파일에서만 오류 코드 강조 기능 존재
  4. kotlin dsl 파일에서만 컴파일 타임에 에러 확인 가능
  5. 클린 빌드 시 kotlin dsl이 groovy dsl보다 느리다.
  6. kotlin dsl은 java 8 이상에서만 동작
profile
Hello velog! 

0개의 댓글