랄라
Gradle이란? 본문
Groovy 언어를 기반으로 한 빌드 자동화 시스템, Java 소스 코드를 실행한 가능한 jar 파일로 만들어준다.
*빌드 : 소스 코드를 실행 가능한 결과물로 만드는 일련의 과정
bulid.gradle

- Gradle 기반의 빌드 스크립트로, 소스코드를 빌드하고 의존성을 주입 및 관리할수있다.
- groovy, kotiln 두가지의 언어 중 선택하여 스크립트 작성가능.
dependencies에 의존성을 주입할 라이브러리를 추가하면,
해당 라이브러리를 모아둔 외부 저장소를 사용하여 자동적으로 다운받아진다.
*라이브러리: 필요한 기능들이 모여있는 코드의 묶음

| implementation | 컴파일과 런타임에 모두 필요한 라이브러리 | - 컴파일 시와 런타임 시 모두 필요. - 다른 프로젝트에서 의존성으로 포함되지 않음. |
| runtimeOnly | 런타임 시에만 필요한 라이브러리 | - 컴파일 시에는 필요없고, 애플리케이션 실행 시에만 필요. - 예: 데이터베이스 드라이버 (JDBC). |
| compileOnly | 컴파일 시에만 필요한 라이브러리 (런타임에는 필요 없음) | - 컴파일 시에만 필요하고, 애플리케이션 실행 시에는 포함되지 않음. - 예: Lombok (주석 처리기). |
| testImplementation | 테스트 코드에서만 필요한 라이브러리 | - 테스트 코드에서만 사용되고, 프로덕션 코드에는 포함되지 않음. - 예: JUnit, Mockito. |
| testRuntimeOnly | 테스트 실행 시에만 필요한 라이브러리 | - 테스트 실행 시에만 필요. - 예: 테스트 관련 라이브러리 엔진 (JUnit5 엔진). |
| annotationProcessor | 어노테이션 프로세서를 위한 라이브러리 | - 어노테이션 프로세서에만 필요한 라이브러리. - 예: Lombok (어노테이션 기반 코드 생성). |
| api | 다른 프로젝트에서 사용할 때 의존성도 포함되게 할 라이브러리 | - 다른 프로젝트에서 사용할 때도 함께 포함. - 주로 java-library 플러그인에서 사용. - 예: Guava 같은 라이브러리. |
build.gradle의 구성설명(추가)

plugins: 프로젝트의 빌드, 및 빌드도구확장에 사용
id '{플러그인}' version '{버전}' 형식으로 작성된다.
group: 프로젝트의 그룹id
version: 프로젝트의 버전설정
java: 사용하고자하는 Java의 버전 지정하는데에 사용
toolchan은 JDK 버전을 설정하는 옵션이다.
configurations: gradle의 의존성 범위설정
complieOnly는 컴파일시에만 필요한 의존성을 설정하는데에 사용.
repositories: 의존성 라이브러리를 찾을 위치(저장소)지정
*외부 라이브러리 예시 Maven Repository: Search/Browse/Explore
해당 링크에서 원하는 라이브러리를 검색하여 적용이 가능하다.

settings.gradle

- 보통 루트 프로젝트의 이름이 기본적으로 작성되어있다.
( rootProject.name = '프로젝트 명' )
- 프로젝트의 포함관계를 설정하거나, 필요에 따라 특정 설정들을 추가할때 사용된다.
'내일배움캠프 > 공부정리' 카테고리의 다른 글
| 3 Layer Architecture (0) | 2025.02.04 |
|---|---|
| Servlet 과 Dispacher Servlet (0) | 2025.02.04 |
| MVC 구조 (0) | 2025.02.04 |
| WebServer 와 WAS(+Apache Tomcat) (1) | 2025.02.03 |
| Restful API 란? (1) | 2025.02.03 |