[Maven ①] Maven이란?
[Maven ①] Maven이란?
뉴렉처 Maven 강의내용을 정리한 내용입니다.
메이븐(Maven)이란?
1-A. 빌드도구 ‘Maven’
프로젝트 빌드 과정은 다음과 같은 단계를 거친다.
프로젝트 생성
라이브러리 설정
코드 작업
컴파일
테스트
패키지 생성
배포
-
레포팅(문서 작성)
이와 같은 빌드 과정에서 일어날 수 있는 일들을 좀 더 효율적으로 관리할 수 있게 도와주는 도구를 빌드 도구
라 하며, Maven
은 이러한 빌드 도구의 일종이다.
1-B. IDE와 빌드도구
우리는 흔히 Eclipse
나 Intellij
또는 Visual Studio
를 사용하여, 프로젝트를 생성/관리한다.
그럼 이것도 빌드툴이라 볼 수 있을까?
Nope!
Eclipse
, Intellij
, Visual Studio
은 통합개발환경 Integrated Development Environment에 속한다. IDE는 더 많은 툴들을 결합시켜 만든 빌드툴보다 더 큰 단위의 개념으로 볼 수 있다.
-
예시
: maven은 단순히 빌드를 도와주는 기능을 하지만, IDE는 코드를 수정하거나 협업하는 등 빌드기능 이외의 다양한 기능을 제공한다.
Reference
소프트웨어 빌드란?
소스코드파일을 컴퓨터에서 실행할 수 있는 독립 소프트웨어 가공물로 변환하는 과정이다.
대표적인 빌드 과정
-
compile
: 개발자가 작성한 소스코드를 바이너리 코드로 변환하는 과정.- 소스파일을 컴퓨터가 이해할 수 있는 기계어(저급언어)로 번역
- 목적파일(.obj)이 생성됨
-
예시
: Java는 JVM에서 실행가능한 바이트코드 형태의 클래스파일(.class)가 생성된다.
-
link
: 여러 개의 목적파일을 하나로 묶어 실행파일을 생성.- 최종 실행파일(.exe)이 생성됨
-
예시
: 프로젝트가 A,B,C…등 여러개의 소스파일로 구성된 경우. 소스파일을 각각 컴파일하면 A가 B에 존재하는 함수를 찾지 못하기 때문에 호출할 수 없다. 따라서, 여러개로 분리된 소스파일들에서 필요한 부분을 찾아 서로 연결해주는 작업이다.
이 두 과정을 합쳐 Build라 부른다.
빌드툴
대표적인 빌드툴은 Ant
, Maven
,Gradle
이 있으며
전처리(preprocessing), 컴파일(compile), 패키징(packaging), 테스팅(testing), 배포(distribution) 등의 기능을 제공한다.
IDE가 있는 데 왜 빌드툴을 사용하는가?
maven 등의 빌드툴을 사용해서 프로젝트를 생성하는 것이 IDE를 사용하는 것보다 더 생산성 좋은 경우가 있다.
댓글남기기