Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- 읽기 작업과 쓰기 작업 분리
- job parameter
- 아이템 리더 커스텀
- JSON 분리
- 스프링배치 csv
- step 값 공유
- 스프링배치 메타테이블
- 스프링배치 엑셀
- JSON 분할
- 마이바티스 트랜잭션
- Spring Batch
- spring batch 변수 공유
- step 사이 변수 공유
- 스프링 배치 5
- flatfileitemwriter
- executioncontext
- 선언적 트랜잭션 관리
- abstractpagingitemreader
- 트랜잭션 분리
- step 여러개
- JSONArray 분할
- api 아이템 리더
- spring batch 5
- aop proxy
- mybatis
- 아이템 리더 페이징 처리
- 스프링 트랜잭션 관리
- executioncontext 변수 공유
- JSONObject 분할
- stepexecutionlistener
Archives
- Today
- Total
ebson
[JAVA STUDY] JAVA 프로그램의 빌드 도구 Ant, Maven, Gradle 의 비교와 이해 본문
Ant, Maven, Gradle
1. 빌드와 실행
- 빌드란 소스코드 파일을 여러 과정을 거쳐 컴퓨터에서 실행할 수 있는 독립 sw 가공물로 변환시키는 과정임
- 독립 sw 가공물이란 Artifact 임
- 빌드를 세분화하면
- 1) 소스 코드를 컴파일함
- 2) 테스트 코드를 컴파일함
- 3) 테스트 코드를 실행함
- 4) 테스트 코드 리포트를 작성함
- 5) 기타 추가 설정한 작업들을 진행함
- 6) 패키징을 수행함
- 7) 최종 sw 결과물(Artifact)를 만들어 냄
- 테스트 코드란 내가 작성한 코드를 자동 테스트해주는 코드를 추가 작성한 것임
- 실행이란 내가 작성한 코드 혹은 테스트 코드를 컴파일을 거쳐 작동시켜 보는 것임
- 독립 sw 가공물이 나올 수도 있고 나오지 않을 수도 있음
- 자바스크립트나 파이썬 등 인터프리터 언어는 컴파일이 필요 없음
2. Java 의 빌드 툴
- 빌드 과정은 복잡하므로 수동 작업은 실수를 유발함
- 빌드 툴은 소스코드의 빌드 과정을 자동으로 처리하는 프로그램임
- 빌드 툴은 외부 라이브러리를 자동 추가하고 관리하는 프로그램임
- Java 프로그램의 빌드 툴에는 Ant, Maven, Gradle 등이 있음
2.1. Ant
- Ant는 설정을 위해 xml을 사용함
- Ant는 간단하고 사용하기 쉬움
- Ant는 복잡한 처리를 하려면 빌드 스크립트가 장황해져 관리가 어려움
- Ant는 외부 라이브러리를 관리하는 구조가 없음
- Ant는 2000년 초중반에 사용된 빌드 툴임
2.2. Maven
- Maven은 설정을 위해 xml을 사용함
- Maven은 외부 라이브러리를 관리할 수 있음
- Maven은 장황한 빌드 스크립트 문제를 해결함
- Maven은 특정 경우에만 xml이 복잡해짐
- Maven은 xml자체의 한계가 있음
- Maven은 Ant가 가진 단점들을 대부분을 극복했음 2020 기준 레거시 코드로 많이 있으나 신규 프로젝트에서는 사용을 지양함
2.3. Gradle
- Gradle은 설정을 위해 groovy 언어를 사용함
- Gradle은 외부 라이브러리를 관리할 수 있음
- Gradle은 유연하게 빌드 스크립트를 작성할 수 있음
- Gradle은 성능이 뛰어남
- Gradle은 2020 기준 최신 Java 프로그램 빌드 툴이고 신규 프로젝트에 많이 사용됨
- Gradle은 구글 안드로이드 앱의 정식 빌드 툴임
[ 그림 1 ] Java 프로그램의 빌드 툴 변화 Ant -> Maven -> Gradle
3. 총정리
- 빌드란 단순히 실행하는 것과 다름
- 빌드 툴은 빌드 과정 자동화와 외부 라이브러리 관리를 위해 사용됨
- 널리 쓰였던(쓰이는) Java 빌드 툴에는 Ant, Mave, Gradle이 있음
- 2020년 기준으로 Maven과 Gradle이 많이 사용됨
참고 출처
- ‘자바를 공부하기 전에 알아두면 좋을 것들!! #2 (빌드와 실행, ant, maven, gradle 간단 알아보기)’ , 공부하는 개발자, Youtube, 2020.4.3.
- https://www.youtube.com/watch?v=L19wXSpv5cs&t=318s
'DEV-STUDY, ETC.' 카테고리의 다른 글
LG CNS DEVON FRAMEWORK (0) | 2022.08.28 |
---|---|
데이터독(Datadog) (1) | 2022.08.28 |
젠킨스(JENKINS) (0) | 2022.08.28 |
지라(JIRA) (0) | 2022.08.28 |
[JAVA STUDY] JDK, JRE, JVM 각각의 개요와 역할의 이해 (0) | 2022.08.15 |
Comments