본문 바로가기

스프링

스프링부트 그레이들 설정 의미

그레이들 사이트에서 OS에 맞는 설치파일을 다운 받아서 설치하면 된다.

 

1. gradel-wrapper.jar : Wrapper Jar

2. gradle-wrapper.properties : 그레이들 설정 정보 프로퍼티(버전 정보 등), 버전변경 가능.

3. gradlew : 리눅스 및 맥OS용 셸 스크립트

4. gradlew.bat : 윈도우용 배치 스크립트

> 위에 언급한 파일은 모두 그레이들 래퍼와 관련된 설정이며 프로젝트 첫 설정 시

그레이들 빌드 설정을 자동으로 해주기 때문에 STS로 그레이들 프로젝트 생성시

그레이들을 자동으로 설치하는 것과 관련 있음.

 

나중에 설치해서 프로젝트 쓰는거 해볼 것

 

 

맥이나 리눅스에에서 그레이들 레퍼를 사용하여 그레이들 버전 업그레이드 및

gradlew -v 로 현재 버전 정보를 확인할 수 있다

 

의존성 추가시 H2 메모리 데이터베이스는 주 저장소가 아니므로 불필요하게 컴파일 의존성에 포함될 필요가 없다.

> runtime, compile gradle 3.0부터 deprecated 되었다.

> compile implementation 으로 runtime runtimeOnly

 

implementaion: 의존 라이브러리 수정시 본 모듈까지만 재빌드A(implementation) <- B <- C 일 때, C 에서 A 를 접근할 수 없음

A 수정시 B 까지 재빌드

 

providedRuntime : war 파일은 외부 컨테이너에 배포되고, java -jar를 사용하여 실행 할 수 있도록 패키지 될 수 있다.

이렇게 하기 위해서는 내장 servlet 컨테이너 의존성이 다음과 같이 providedRuntime 설정이 추가되어야 한다

 

api: 의존 라이브러리 수정시 해당 모듈을 의존하고 있는 모듈들 또한 재빌드A(api) <- B <- C 일 때, C 에서 A 를 접근할 수 있음

A 수정시 B C 모두 재빌드

ex) api group: 'com.google.guava', name: 'guava', version: '27.0.1-jre'

 

20. runtime : runtime시점에 의존성 주입

21. compile : compile 시점에 의존성 주입