Written by
Poogle
on
on
자바 기초 - 빌드 툴 Maven & Gradle
빌드 툴
- 필요한 라이브러리 다운받고 classpath에 추가
- 소스 코드를 컴파일
- 테스트를 시행
- 컴파일된 코드를 packaging (jar, war, zip etc)
- packaging된 파일을 주로 artifacts라고 부름, 서버나 레파지토리에 배포
- ⏩ 이런 것들을 자동화
Maven
- 라이브러리 관리 (dependency)
- 네트워크를 통해서 연관된 라이브러리까지 같이 업데이트
- XML 기반의 빌드 처리를 작성 → 간단한 내용이면 상관 없지만 복잡한 내용 → 어려워짐
pom.xml
파일로 작성- POM: Project Object Model
Maven을 사용하는 이유
- archetypes 라는 프로젝트 템플릿을 제공 -> 매번 같은 설정을 반복하지 않게 도와줌
- 플러그인과 외부 라이브러리를 분리하여 관리
- dependency를 다운받는 Repo는 로컬 or Maven Central 같은 공개 Repo
Gradle
- Groovy 언어를 이용한 빌드 자동화 시스템
- Groovy는 Java 가상 머신에서 실행되는 스크립트 언어
- Java와 마찬가지로 소스 코드를 작성하고 Java 가상머신에서 동작하지만, Java와 달리 소스코드를 컴파일 할 필요 X
- Java와 유사한 문법 ⇒ 방언st.
- Groovy와 유사한 도메인 언어 채용
- Java와 거의 비슷한 코드를 써서 빌드처리를 관리할 수 있다는 점에서 Maven을 대체할 수도
⇒ 규모가 커질 수록 Gradle을 사용하는 편
Gradle 설치 실습
Linux Ubuntu 버전
$ mkdir /opt/gradle
$ unzip -d /opt/gradle gradle-7.1.1-bin.zip
$ ls /opt/gradle/gradle-7.1.1
$ export PATH=$PATH:/opt/gradle/gradle-7.1.1/bin
Gradle 빌드 실습
- HelloWorld라는 자바 코드 구현
gradle init
- 파일의 구조
tree
그 밖의 실습
gradle build
gradle run
gradle test
gradle tasks
build.gradle
파일에 태스크 명시