POM은 프로젝트의 구조와 내용을 기술한 것
Project Object Model
pom.xml 파일에 프로젝트 관리 및 빌드에 필요한 환경 설정,
의존성 관리 등의 정보들을 기술합니다
대부분 Maven의 중요 설정파일들이 들어가있으며,
라이브러리를 추가함으로써, 불러오는 기능인 '의존성' 이 있으며,
실제 라이브러리 파일이 저장되어 있는 저장소 서버의 위치를 지정하고,
사용할 라이브러리를 지정해줍니다.
그렇기 때문에, Maven을 통해서 라이브러리를 설정해놓고 잘 관리한다면,
라이브러리의 jar파일을 따로 관리할 필요 없이 pom.xml 파일만 관리하면 됩니다.
POM.xml에 Spring framework 라이브러리의 의존성 주입을 설정 합니다.
POM.xml 수정 후 반드시 eclipse에서 Maven update를 줘야합니다.
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.3.RELEASE</version>
<relativePath/>
<!-- lookup parent from repository -->
여기서
<groupId>
는 모든 프로젝트 중에서 당신의 프로젝트를 식별하게 해주는 식별자입니다.
groupId는 Java의 패키지 이름 규칙을 따라야 함 즉 제어하는 도메인 이름의 반대로 시작합니다.
<artifactId>
artifactId is the name of the jar without version
jar파일의 이름. (버전없이)
<version>
배포를 하려면 숫자와 점으로 구성된 일반적인 버전(1.0,1.1,1.0.1,...)인 형태를 사용.
POM.xml 파일에
라이브러리를 명시에 놓으면 원격 Repository에 있는 라이브러리가
내 컴퓨터로 다운되어 프로젝트에 해당 라이브러리를
쉽게 사용할 수 있도록 하는 역할을 하는 것입니다.
※ 모듈의 라이브러리 파일명은 artifactId + "-" + 버전명 +".jar" 로 표시합니다.
Artifact는 (필수)
프로젝트의 기본정보, 배포방식, 배포정도 등을 담습니다.
Properties는 (선택)
pom.xml내에서 자주쓰는 정보들을 정리해놓고 가져다 쓸수 있습니다.
프로젝트의 중요한 사항에 대해 따로 정리하여 보기쉽게 하려는 목적이 있습니다.
dependencies (필수)
pom.xml의 핵심, 의존성을 정리하는 부분이며 라이브러리들을 정의하여 불러올 수 있게 해주는 부분.
*Maven을 통해 불러온 라이브러리들은 JavaBuildPath에서 Maven Dependencies 목록으로 들어감.
따로 설정을 할 수 없으며, pom.xml을 통해서만 추가/수정/삭제 가능.
Build (필수)
빌드할때 사용할 플러그인 기술
Profiles (선택)
각각 다른 개발환경과 설정파일을 구축할 때 사용.
여러개의 profile을 가질 수 있음.
로컬, 개발, 운영서버를 나누어 배포하는 설정시 각각의 profile로 등록해서
배포시마다 profile값만 변경해주면서 패키징하면
설정파일, 개발환경 등이 세팅한대로 묶여짐.
maven의 package명령어를 통해 war등으로 묶을때 profile에 기술한 id를
함께 작성하면, 설정한 방식으로 빌드하여 배포 가능.
*단 이걸 사용하면 각 환경마다 빌드를 새로 해야하는 문제가 있으니
해당 설정을 이용해 별도 배포하는 것보다 spring 에서 제공하는
spring profile을 권장한다.
'Project_Settings' 카테고리의 다른 글
Maven 이냐 Gradle 이냐 근데 그게 뭐냐? (0) | 2022.02.16 |
---|