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 | 31 |
Tags
- 문자형을 날짜형으로
- 스테이지에 올리기
- multi update
- Meta Table
- JobExecutionAlreadyRunningException
- nonblocking
- JSONArray 분할
- JSON 분할
- 성능개선
- JSONObject 분할
- JSON 분리
- 무시하기
- 마리아디비
- 마이바티스 트랜잭션
- 날짜형을 문자형으로
- 스프링 웹플럭스
- date_format
- 스프링 배치 메타 테이블
- JSON 분해
- batchInsert
- ChainedTransactionManager #분산데이터베이스 #Spring Boot #MyBatis
- git stage
- spring webflux
- spring reactive programming
- 스프링 리액티브 프로그래밍
- org.json
- 스프링 배치 공식문서
- 폐기하기
- str_to_date
- jar 소스보기
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