본문 바로가기

Gradle

(2)
[Gradle] dependency의 version을 명시하기 vs 생략하기 스프링부트와 gradle을 사용할 때, dependency를 추가한다. 이때, 버전을 적는 경우가 있고 안적는 경우가 있다. 버전 적는 경우 특정 버전을 명시하고 싶을 때 애매하다 싶으면, 이렇게 적어야한다. (실제로 버전 안적어서 컴파일 오류 발생했었음) compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' 버전 안적는 경우 dependency를 가져오는 저장소에서 가장 최신 버전을 가져온다 annotationProcessor 'org.projectlombok:lombok-mapstruct-binding:0.2.0'
[Gradle] implemetation, api, complieOnly, runtimeOnly Gradle의 Dependency 4가지 classpath는 클래스나, jar 파일이 존재하는 위치라고 볼 수 있다. compileClassPath : 에러없이 컴파일을 하기 위해 필요한 클래스와 jar들의 위치를 나타낸다(주의할 점은, 컴파일이 완료되었다고 애플리케이션이 정상적으로 실행되는 것이 아니다) runtimeClassPath : 애플리케이션이 정상적으로 실행하기 위해 필요한 클래스들과 jar들의 위치를 나타낸다. 우선, complie time과 runtime에 대해 알아보자. 컴파일 타임 & 컴파일 타임 에러 코드가 컴파일을 통해 기계어로 변환되는 과정이다. 컴파일 타임 에러는 코드 상의 구문 오류 또는 누락된 파일을 참조하는 것과 같은 문제로 인해 프로그램이 성공적으로 컴파일되지 못하는 상황..