끵뀐꿩긘의 여러가지

[부스트코스]웹 프로그래밍 31. Maven 본문

부스트코스 - 웹/2. DB 연결 웹 앱

[부스트코스]웹 프로그래밍 31. Maven

끵뀐꿩긘 2020. 3. 20. 16:02

Maven이란?

Maven은 지금까지 애플리케이션을 개발하기 위해 반복적으로 진행해왔던 작업들을 지원하기 위하여 등장한 도구입니다. 

Maven을 사용하면 빌드(Build), 패키징, 문서화, 테스트와 테스트 리포팅, git, 의존성관리, svn등과 같은 형상관리서버와 연동(SCMs), 배포 등의 작업을 손쉽게 할 수 있습니다.

Maven을 이해하려면 CoC(Convention over Configuration)라는 단어를 먼저 이해해야 합니다.

CoC란 일종의 관습을 말하는데, 예를 들자면 프로그램의 소스파일은 어떤 위치에 있어야 하고, 소스가 컴파일된 파일들은 어떤 위치에 있어야 하고 등을 미리 정해놨다는 것입니다.

이 말은 관습에 이미 익숙한 사용자는 쉽게 Maven을 사용할 수 있는데, 관습에 익숙하지 않은 사용자는 이러한 제약사항에 대해서 심한 거부감을 느낄 수 있습니다.

Maven을 사용한다는 것은 어쩌면 이러한 관습 즉 CoC에 대해서 알아나가는 것이라고도 말할 수 있습니다. 

 

Maven을 사용할 경우 얻게 되는 이점은?

Maven을 사용할 경우, 굉장히 편리한 점들이 많습니다.

많은 사람이 손꼽는 장점 중에는 편리한 의존성 라이브러리 관리가 있습니다.

앞에서 JSTL을 학습할 때, 몇 가지 파일을 다운로드 하여 /WEB-INF/lib폴더에 복사하여 사용했었습니다.

관련된 라이브러리가 많아질수록 이러한 방식은 상당히 불편해집니다.

Maven을 사용하면 설정 파일에 몇 줄 적어줌으로써 직접 다운로드 받거나 하는 것을 하지 않아도 라이브러리를 사용할 수 있습니다.

프로젝트에 참여하는 개발자가 많아지게 되면, 프로젝트를 빌드하는 방법에 대하여 가이드하는 것도 쉬운 일이 아닙니다.

Maven을 사용하게 되면 Maven에 설정한 대로 모든 개발자가 일관된 방식으로 빌드를 수행할 수 있게 됩니다.

Maven은 또한 다양한 플러그인을 제공해줘서, 굉장히 많은 일들을 자동화시킬 수 있습니다.

 

Maven 기반 프로젝트의 생성은 https://www.edwith.org/boostcourse-web/lecture/16723/

 

[LECTURE] 1) Maven 이란? : edwith

들어가기 전에 앞에서 JSTL에 대해서 배울 때 JSTL과 관련된 라이브러리를 다운로드 하여, WEB-INF/lib폴더에 복사하여 설치했었습니다. 프로젝트가 복잡해질수록 사용하는 ... - 강경미

www.edwith.org

https://www.edwith.org/boostcourse-web/lecture/16724/

 

[LECTURE] 2) Maven을 이용한 웹 어플리케이션 실습 : edwith

들어가기 전에 이번 시간엔 이클립스를 이용해 메이븐 프로젝트로 웹 어플리케이션을 작성해 보도록 하겠습니다. 이클립스에서 메이븐을 이용해 웹 어플리케이션을 만들 때는 몇 가지 어려움... - 부스트코스

www.edwith.org

을 참고하세요.


라이브러리를 개발자가 직접 관리하지 않아도 된다는 점에서 Maven은 획기적입니다.

Comments