Maven과 Gradle은 무엇인가
자바 프로젝트를 하로 패키징하는 빌드 도구이다. Cmake와 동일한 역할을 하는것 이다.
Maven project의 구조
애플리케이션 소스코드는 src/main/java
자바리소스가 아닌것 은 src/main/resource
poem.xml: 메이븐 빌드 명세(빌드할 때 필요한 정보)를 지정하는 파일이다.
static folder: 브러우저에 제공할 정적인 콘텐츠(이미지,스타일시트, 자바스크립트등을)두는 폴더이다.
templates folder: 브라우저에 보여주는 templates 파일을 두는 폴더이다.
Build 명세 살펴보기
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.12</version>
<relativePath/>
</parent>
쉽게 말하면 groupId는 프로젝트의 큰 틀, artifactId는 프로젝트의 각 기능들이다. 예를 들어 지하철 관련 프로젝트를 개발한다고 한다면 groupId는 지하철 노선 전체를 뜻하고, artifactId는 1호선, 2호선 등등을 말합니다.
중요!!! groupId가 잘못되면 안된다.
POM(Project object model)은 스프링프로젝트에 흔히 사용되는 여러 라이러리의 의존성 관리를 제공한다. 따라서 이런 라이브러리들은 버전을 지정할 필요가 없다. 스프링부트 2.7.12를 사용함을 나타낸다.따라서 이스프링부트 버전에 의해 정의된 의존성 관리를 계승한다.