빌드
소스코드를 실행가능한 독립적인 소프트웨어 산출물로 만드는 과정으로 코드를 서버에 올릴 수 있는 상태로 만드는 것
빌드과정
컴파일 : 소스코드(.java)를 바이너리 코드(.class)로 변환
링크 : 클래스 파일들끼리 연결(외부 라이브러리 포함)
패키징 : 연결된 클래스 및 리소스 파일 연결
테스트 : 기능 테스트
빌드 결과
JAR(Java Archive) : 자바애플리케이션 압축 양식, 클래스와 리소스로 구성
WAR(Web Archive) : 웹 애플리케이션 압축 양식
원래 웹 기능이 들어간 자바 애플리케이션은 WAR로 빌드해야하지만 스프링부트는 내장 톰캣을 통해 JAR로 빌드할 수 있게한다.
빌드툴
소스코드의 빌드 과정을 자동으로 처리해주며 외부 라이브러리 의존성 추가 및 관리를 해주는 프로그램으로 자바는 Maven과 Gradle이 있다.
빌드툴 사용이유
소스코드와 외부 라이브러리의 버전관리와 빌드 프로세스시에 수동으로 호출할 라이브러리를 지정하거나, 어떤 순서로 빌드할지, 어떤 버젼의 의존성을 가지고 있는지 파악해준다.