빌드 도구

KimSeonGyu·2023년 6월 25일
0

SpringFramework(공부)

목록 보기
2/7
post-thumbnail

Maven & Gradle

Maven

  • 아파치 앤트의 대안으로 만들어진, 프로젝트의 전체적인 라이프 사이클을 관리하는 도구
  • 메이븐 저장소에 등록된 정보를 바탕으로, 라이브러리를 사용하는데 필요한 라이브러리(의존성)까지 관리해줌과 동시에 필요한 네트워크를 통해 업데이트 해준다.
  • 설정파일은 xml파일이며, pom.xml 로 사용한다.

POM(Project Object Model)

  • 메이븐에서는 프로젝트의 모든 것을 객체로 다루며, 이를 기반으로 프로젝트를 관리
    - 프로젝트 정보, 빌드설정, 빌드환경, POM 연관 정보등을 pom.xml 파일에 설정


Gradle

  • 빌드 배포 도구이며, 안드로이드 스튜디오의 공식 빌드 시스템이다.
  • 라이브러리 관리, 프로젝트관리, 단위테스트 시 의존성 관리등 가능
  • 빌드 속도가 메이븐에 비해 빠르고, Java, C, C++, Python 등을 지원
  • 빌드 도구인 앤트 빌더(Ant Builder)와 그루비 스크립트(Groovy Script)를 기반으로 만들어짐


Build & Deploy

Build(빌드)란 개발자가 작성한 코드를 실행할 수 있는 독립적인 형태인 .war .jar 파일로 변환하는 과정과 그 결과를 말한다.
이러한 과정이 필요한 이유는 클라이언트가 따로 자바와 IDE등을 설치하지 않고 코드의 실행 결과물을 보기 위함이다.
즉 컴파일된 코드를 실제 실행할 수 있는 상태로 만드는 일을 Build라는 개념으로 생각하면 된다.
그리고 그러한 빌드 결과물인 war파일 또는 jar파일을 서버에 올리는 것을 Deploy(배포)라고 한다.


스프링 부트 의존성 관리

스프링 프레임워크와 스프링 부트의 가장 큰 차이점이라고 한다면 아마도 의존성관리 기능일 것이다.
스프링 프레임워크의 경우 의존성을 개발자가 직접 버전을 업데이트해주는 반면 스프링 부트는 자동으로 필요한 의존성을 받아와 필요한 Bean을 생성해준다.

profile
공부한 내용을 작성하는 블로그 입니다. 수정할 부분이 있다면 편하게 댓글 작성부탁드립니다!

0개의 댓글