JAVA 프로젝트에서 필요한 라이브러리들을 관리해주는 빌드 도구에 대해 정리해봅니다.
빌드 도구를 통해 라이브러리 의존성을 관리하고 테스트를 자동으로 수행할 수 있습니다.
JAVA 프로젝트에서 쓰이는 빌드 도구에는 Ant, Maven, Gradle등이 있습니다.
1. Ant
외부라이브러리(의존라이브러리)관리가 불편합니다.
build.xml을 통해 스크립트 파일을 작성할 수 있지만 복잡하고 의존성 주입이 원격으로 하기 힘들다고 합니다.
2. Maven
ant의 단점을 보완했습니다. 외부라이브러리 관리가 가능합니다.
pom.xml을 통해 빌드 스크립트 파일을 작성합니다. (Project Object Model)
하지만 여전히 xml로 관리되고 xml자체가 프로그래밍 언어가 아니기때문에 정교한 통제가 불가하다는 단점이 있습니다.
3. Gradle
build.gradle로 빌드 스크립트 파일을 작성합니다.
Groovy, Kotlin(Java 호환 언어)로 스크립트파일 작성하여 정교한 통제가 가능해졌습니다.
의존 라이브러리 다운로드 시 maven 중앙서버를 이용합니다.
프로젝트에 Gradle 설치
Gradle의 구조
Gradle의 구조는 표준 Maven 디렉터리 구조와 동일합니다.
java-lang의 프로젝트에서의 Gradle의 구조를 살펴보겠습니다.
.gradle/ : gradle을 실행하는 동안 사용하는 임시 폴더(실행시 재생성됨)
app/ : main project -> gradle 이전버전은 src, build 가 위 레벨에 있음
ㄴbin/ : 컴파일한 class 파일들
ㄴsrc/ : 소스 및 변경파일
ㄴ build.gradle : 빌드 스크립트 파일, 해당 프로젝트만 제어
gradle/ : gradle을 다운로드 받고 실행할 수 있도록 해주는 설정파일과, shellscipt파일,
gradle이 설치되어 있지 않아도 gradle 사용 가능
gradlew (unix 용) : 자체 gradle을 사용 gradle/에 존재하는 script를 사용
gradlew.bat (windows 용) : 자체 gradle을 사용 gradle/에 존재하는 script를 사용
.gitignore : git 실행과 관련된 설정파일
.gitattributes : git 실행과 관련된 설정파일
settings.gradle : 빌드 스크립트 파일, 전체 프로젝트 제어 역할
Gradle의 실행구조
.gradle/ :
app/ :
ㄴbin/
ㄴsrc/ ③ compile -> test
ㄴ build.gradle ② setting.gradle 참조하여 실행
ㄴ build/
ㄴclasses/ 소스파일을 컴파일 해서 만든 .class 파일을 푼다.
ㄴdistributions/ ④ 최종산출물이 app.build/ .bat파일 생성 (.jar, .zip을 압축해제한다.)
ㄴgenerated/
ㄴlibs/
ㄴscripts/
ㄴtest-results/
ㄴtmp/
gradle/
settings.gradle ① 실행
'TIL' 카테고리의 다른 글
[Git] crlf will be replaced by lf the next time git touches it 에러 해결하기 (2) | 2023.05.28 |
---|---|
.gitignore 파일 자동생성하기 - gitignore.io (2) | 2023.05.25 |
Git 기초 사용법 정리 (4) | 2023.05.24 |
JAVA 컴파일 인터프리터 정리 (0) | 2023.05.23 |
소프트웨어와 웹애플리케이션 (0) | 2023.05.22 |