빌드 도구 ( Build Tool ) :
。개발자의 소스코드를 실행 가능한 Application으로 빌드하는 역할을 수행.
▶ 각 프로그래밍 언어에 맞는 Project를 빌드 및 Dependency를 관리
Maven :
。XML Script 기반으로 pom.xml을 이용해 자동으로 library 와 dependency를 관리.
。Maven clean , install
view - Tool Windows - Maven - 프로젝트명 - Lifecycle - clean 우클릭 - Run Maven Build
Gradle :
。Maven 이후 출시한 Groovy 기반 Java , Kotlin 등의 Build Tool
。build.gradle를 통해 작성하여 dependency를 관리.
Intellij에서 gradle Reload 하는 방법?
。Intellij의 우측에 Gradle에서 Reload All Gradle Projects 실행.
▶ build.gradle 설정 변경 시 실행.

build.gradle :
。Gradle을 사용하는 Project의 Build Script 파일로서 dependency , Compile , Plug-in , Test의 관리 및 설정이 가능.
▶ Project의 build, test, production을 자동화하는 역할을 수행.
。Groovy , Kotlin으로 작성가능.
▶ XML 기반 Build Script에 비해 관리가 용이.

build.gradle 주요 구성요소
plugins { id 'plugin이름' }
。Project에 활용한 Gradle Plugin을 정의.
Gradle Plugin 종류
。java : java project 용
。java-library : java library 용
。application : 실행 가능한 Application
。kotlin : Kotlin Project 용
。com.android.application : Android App Project 용
group , version :
。Project의 그룹명과 Version을 정의.
▶ 다른 Build Tool( ex. Maven )에서 Packaging 시 사용.
repositories { }
。Project에서 사용할 Dependency 저장소를 지정.
▶ 일반적으로 Maven Central ( Maven 중앙 저장소 : mavenCentral() ) , JitPack 등을 사용.
dependencies { 키워드 '라이브러리' }
。Project에서 사용할 외부 Library의 Dependency를 정의.
dependency 키워드
。implementation : Compile + Runtime시 둘다 사용하는 일반 라이브러리
。complieOnly : Compile 시에만 사용하는 라이브러리
。runtimeOnly : Runtime 시에만 사용하는 라이브러리
。testImplementation : Test 시에만 사용하는 라이브러리
。annotationProcessor : Annotation Processing 용 라이브러리
application { mainClass = '메인클래스' }
。Application의 Main Class 지정 시 사용.
▶ 해당 설정을 지정 시 gradle run 명령어로 Application 실행이 가능.
gradle 명령어
./gradlew test :
。src/test에 존재하는 테스트 코드를 실행
./gradlew build
。빌드하여 JAR 파일을 생성
./gradlew clean build
。테스트코드를 수행 및 통과한 경우 기존 JAR 파일을 삭제 후 빌드하여 JAR파일을 재생성