프로그래밍/Spring

[Spring] Maven에 대해 알아보자

byungmin 2020. 9. 2. 17:19

Youtube 뉴렉처 강사님의 메이븐 강의를 듣고 정리한 글입니다.


#1 Maven이란?

빌드할 때 사용하는 도구(Tool)

 

- 라이브러리 관리(설치, 삭제, 다운로드 받기)

- 빌드기능

 

프로젝트 빌드 과정

프로젝트 생성 -> 라이브러리 설정 -> 코드작업 -> 컴파일 -> 테스트 -> 패키지생성 -> 배포 -> 레포팅

이러한 과정들을 쉽게 구현할 수 있도록 도와준다. 

 

IDE와 빌드 도구의 차이

Eclipse, Intellj, VSCode 등 과 같은 IDE에서도 프로젝트를 생성, 라이브러리 설정, 코드작업, 컴파일 등등을 할 수 있다.

 

프로젝트를 개발할 때 필요한 도구들(빌드도구, 디버거, 컴파일러, 형상관리, 탐색기, 콘솔 등등)을 하나로 통합한 것이 IDE다.

 

빌드 도구는 IDE에서 사용할 수 있는 도구중 하나이다. IDE에 프로젝트 관리와 관련되어 포함되어 있는 전문화된 도구라고 생각하면 좋다. (빌드 도구에는 Maven말고도 Gradle, Ant 등이 있다.)

 

Maven 저장소

Maven은 원격 저장소에 라이브러리들을 저장해 놓고 내가 쓰고 싶은 라이브러리들을 로컬 저장소에 자동으로 추가해서 사용할 수 있도록 해준다. 

경로는 ${user.home}/.m2/repository 에 라이브러리들을 추가해 놓는다.

 

 

Maven Repository: Search/Browse/Explore

Spring Boot Starter for Vaadin Flow applications. Last Release on Sep 1, 2020

mvnrepository.com

메이븐 저장소에 포함된 라이브러리들을 한번에 찾아볼 수 있는 사이트다.

만약 jsp 관련 라이브러리를 추가하고 싶다면 검색해서 코드를 복사해서 POM.xml에 추가하면 바로 사용할 수 있다.

 

원래는 라이브러리를 추가하기 위해서는 다운받고 폴더에 넣어주고 Build Path에 넣어주고 했는데, 그 프로젝트를 다른 컴퓨터에서 사용하려고 하면 Build Path에 저장된 경로를 바꿔줘야지 오류를 해결할 수 있는 번거로움이 있었다. 하지만 Maven을 통해서 쉽게 라이브러리를 추가하고 저장할 수 있게 되었다.

 


#2 Maven 설치

https://maven.apache.org/download.cgi

 

Maven – Download Apache Maven

Downloading Apache Maven 3.6.3 Apache Maven 3.6.3 is the latest release and recommended version for all users. The currently selected download mirror is http://mirror.navercorp.com/apache/. If you encounter a problem with this mirror, please select another

maven.apache.org

아파치 메이븐 홈페이지에 들어가서 다운로드 받을 수 있다.


#3 cmd를 통한 Maven 자바 프로젝트 생성하고 실행해보기

1. 프로젝트 생성

C:\LECTURE\maven>mvn archetype:generate -DgroupId=com.newlecture -DartifactId=javaprj -DarchetypeArtifactId=maven-archetype-quickstart

 

0. archetype:generate : 아키텍처 타입을 생성한다고 지정

1. archetypeArtifactId : 다른 사람이 만든 템플릿을 가지고 프로젝트 기본 구조를 형성 (이클립스에서 제공하는 템플릿 사용)

2. artifactId : 프로젝트 이름 지정 (javaprj라는 프로젝트를 생성)

3. groupId : 프로젝트명 중복을 막기 위해서 그룹명(도메인명)을 지정해준다.

4. -D : 구분선

 

다운로드가 진행되면서 버전을 이 버전으로 사용할 것인지 물어본다. 사용자와 상호작용하면서 다운로드가 진행된다. 

 

패키지명과 프로젝트명, 버전을 확인하고Y를 누르면 빌드가 성공했다는 메시지와 함께 프로젝트가 생성된다.

 

탐색기를 통해서 프로젝트가 생성된 것을 확인해보자

 

2. pom.xml 파일 수정

프로젝트 폴더를 들어가보면 pom.xml 파일이 있다.

 

- 프로젝트 컴파일 소스와 타겟을 jdk1.8버전으로 설정하기

<properties>
	<maven.compiler.source>1.8</maven.compiler.source>
	<maven.compiler.target>1.8</maven.compiler.target>
</properties>

프로젝트를 컴파일할 버전을 1.8로 수정하겠다는 얘기

 

3. 컴파일 해보기

pom.xml이 있는 디렉토리까지 경로를 지정해놓고 -mvn compile 명령어를 통해 컴파일을 실행

컴파일에 성공

컴파일된 소스를 탐색기에서 확인해보면 

javaprkj\target\classes폴더에서 컴파일된 파일을 확인할 수 있다.

4. 패키지 파일 만들기

pom.xml이 있는 디렉토리까지 경로를 지정해놓고 -mvn pakage 명령어를 통해 실행

javaprkj\target폴더에서 생성된 jar 파일을 확인할 수 있다.

5. jar파일에 있는 패키지 실행하기

java -cp target\javaprj-1.0 -SNAPSHOT.jar com.newlecture.App

javaprj-1.0 -SNAPSHOT.jar에 있는 com.newlecture 패키지에 있는 App.class 파일을 실행하는 명령어를 작성한다.