본문 바로가기

컴퓨터공학/Spring & Hibernate

Spring> Maven> Intro

Maven

그전에는 필요한 라이브러리들을 직접 다운받아서 폴더에 넣어 사용했다면

Maven을 이용할 경우 사용할 라이브러리를 리스트에 적어 놓으면 Maven이 필요한 것들을

인터넷어서 얻어다가 제공해주는 기능이다.  장바구니 리스트와 유사하다. 

 

 

 

프로젝트 구조에 대해서 보자.

src/main/

Directory Description
src/main/java 자바 소스 코드
src/main/resources 앱에서 사용되는 Properties/ config 파일들
src/main/webapp JSP파일이나 웹 config 파일들 또는 웹 리소스. 예를 들면 사진이나 css나 자바스크립트 등
src/test 유닛 테스트 코드와 properties
target 컴파일된 코드를 위한 목표 디렉토리. 메이븐에 의해서 자동적으로 생성된다. 

분리되어 있기 때문에 처음보는 사람도 쉽게 작업이 가능하다.

 

 

 

대부분 메이저 IDE는 Maven을 위한 기능이 내장되어있다

그래서 IDE는 쉽게 Maven 프로젝트를 불러올 수 있다.

그러므로 IDE간 프로젝트 공유가 쉽게 가능하다.

 

 

POM file

Project Object Model file : POM file

프로젝트를 위한 Configuration file  

기능을 부르기 위한 쇼핑리스트라고 생각하면 된다.

Maven project의 근본에 위치되어있다.

 

project meta data : 

프로젝트 이름, 버전 등 정보가 들어있고 JAR이나 WAR 같은 output file type 이 들어있다.

 

dependencies :

Spring, Hibernate 등과 같은 우리가 의존하는 것들이 있는 프로젝트 리스트

 

Plug ins :

JUnit 테스트 리포트를 생성하기 위한 것들을 작동하기 위한 추가적 커스텀 작업.  

 

 

 

 

Project Coordinates

프로젝트를 확인할 수 있는 좌표

예를 들면 gps의 위도 경도나 집을 찾기 위한 집주소 등등과 같다. .

 

Project Coordinates  Element

<groupId> :

회사나 그룹의 이름을 나타낸다.

<artifactId> :

프로젝트 이름

<version> :

출시 버전

 

Dependency Coordinates

주어진 dependency 프로젝트를 추가하기 위해서는

Group ID와 Artifact ID가 필요하다.

Version은 선택사항이다. 

 

 

 

Dependency coordinate 찾는 방법

은 두 가지가 있다.

첫 번째는 spring.io 나 hibernate.org 와 같은 프로젝트 페이지에 가서 찾는다..

 

hibernate 홈페이지에서 다운로드 페이지에 가면 위와 같은 내용이 있다.

 

 

두 번째는 http://search.maven.org

 

Maven Central Repository Search

 

search.maven.org

에 가서 찾는 방법이 있다..

가서 적절한 것을 검색해서 버전을 선택하면 상세페이지를 볼 수 있다.

이렇게 맞는 것을 찾아서 pom.xml에 붙여넣으면 된다.

 

다른 옵션으로 

http://www.mvnrepository.com 

여기는 써드 파티 사이트로 좀 더 많은 프로젝트들이 있다.

 


Archetypes

새로운 Maven 프로젝트을 만들기 위해 사용된다.

Maven 프로젝트를 위한 template files을 포함하고 있다.

한 마디로 자바 프로젝트나 웹 프로젝트를 위한 스타터 파일 모음이다.

archetype = start project

 

 

Common Archetype

Archetype Artifact ID 예시를 보자면

 

maven-archetype-quickstart : 

sample Maven project 를 만들기 위한 archetype

pom 파일/ 메인 앱 파일/ JUnit 파일

로 구성되어 있다.

 

maven-archetype-webapp :

sample Maven Webapp project 를 만들기 위한 archetype

이것도 비슷하게

pom 파일/ 메인 jsp 파일/ web.xml

로 구성되어있다.

 

나머지는 아래에서 더 볼 수 있다.

http://maven.apache.org/archetypes 

 

Apache Maven Archetypes – Maven Archetypes

 

maven.apache.org

 

 

만드는 방법은

커맨드라인에서 maven 과 함께 만들 수 있다.

IDE에서 만들 수 있다.

 

 

'컴퓨터공학 > Spring & Hibernate' 카테고리의 다른 글

Spring> Maven> Repository  (0) 2021.05.25
Spring> Maven> Create Project  (0) 2021.05.25
Spring> AOP> Add AOP Logging to Spring MVC App  (0) 2021.05.24
Spring> AOP> Around Advice Type  (0) 2021.05.22
Spring> AOP> @After Advice  (0) 2021.05.21