Programming/Java

SpringBoot+Gradle 설정파일 정리

armyost 2022. 5. 17. 13:21
728x90

gradle 구성요소

 

1. gradlew
리눅스 또는 맥OS용 실행 쉘 스크립트 파일이다.


2. gradlew.bat
윈도우용 실행 배치 스크립트 파일이다.


3. gradle-wrapper.jar
로컬 환경에서 gradle build를 하게 되면, 로컬에 구성된 gradle 버전으로 빌드가 되지만
./gradlew build 를 하게 되면, Wrapper에 명시된 버전으로 로컬 환경과 관계없이 프로젝트를 빌드할 수 있습니다.

gradle wrapper는 GRADLE_USER_HOME에 찾는 gradle이 있는지 확인합니다.
만약 존재한다면 그 gradle을 사용합니다. 만약 없다면 wrapper는 해당 파일을 다운받습니다.

4. gradle-wrapper.properties
Gradle Wrapper 설정 정보 파일이다. Wrapper의 버전 등을 설정할 수 있다.


5. build.gradle
프로젝트의 라이브러리 의존성, 플러그인, 라이브러리 저장소 등을 설정할 수 있는 빌드 스크립트 파일이다. 

크게 3개의 섹션으로 나뉜다. 

 

  • buildscript
    buildscript 는 gradle 빌드 스크립트 자체를 위한 의존성이나 변수 Task, Plugin 을 지정할 수 있다
  • allprojects
    allprojects 는 모든 프로젝트에 공통으로 넣을때 사용할 수 있다.
  • subprojects
    subprojects 는 allprojects 와 비슷한 역할을 하지만 차이점은 allprojects의 경우root project 마저 같이 설정된다. 즉 java로 구성하면 root project 역시도 그렇게 되는 것. 그래서 일반적으로 root project는 폴더명처럼 하고 subprojects에 주로 설정한다.

그리고 주요 메서드는 다음과 같다.

  •  plugins{}
    프로젝트를 빌드하기 위해 필요한 작업들을 지원하는 플러그인을 설정한다.
  •  repositories{}
    저장소 설정
  •  dependencies {}
    의존성 추가
  • test {}
    테스트 모듈
  • group = 'com.example'  # group 은 프로젝트 생성시의 groupId
  • version = '0.0.2-SNAPSHOT' # version 은 애플리케이션의 버전이다. 접미사로 SNAPSHOT이 붙으면 아직 개발단계라는 의미이다.
  • sourceCompatibility = '1.8' # 자바버전 1.X 이상에서 사용하는 컴파일 메소드라는 의미

6. settings.gradle
프로젝트의 구성 정보 파일이다. 멀티 프로젝트를 구성하여 프로젝트를 모듈화할 경우, 하위 프로젝트의 구성을 설정할 수 있다. gradle 빌드당 1개 settings.gradle 파일만 수행시킨다. 


spring boot 구성요소

디렉토리(Directory) 설명
src/main/java 자바 소스 코드를 관리하는 디렉토리
src/main/resources 리소스을 관리하는 디렉토리
src/test/java 테스트 자바 소스를 관리하기 위한 디렉토리
src/test/resources 테스트 리소스를 관리하기 위한 디렉토리
src/sourceSet/java 자바 소스를 위한 특정한 source set
src/sourceSet/resources 자바 리소스를 위한 특정한 source set