| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- feignClient
- 백엔드스쿨
- 백엔드 로드맵
- 엔티티 생명주기
- 인스턴스
- Docker
- 카카오사용자정보가져오기
- 제로베이스
- tag
- Spring API
- Java
- 예외
- 엔티티 매니저
- 상속
- input
- spring
- 백엔드공부
- 카카오인가코드받기
- MIND 2023 #후기
- ci/cd
- button
- static
- GitHub_Actions
- Interface
- 어떤 개발자?
- jenkins
- 카카오인증토큰받기
- form
- html
- oAuth2
Archives
- Today
- Total
HiDevelop
Maven pom.xml? 본문
728x90
pom.xml
- maven의 기능을 사용하기 위해 작성하는 파일로, 이 파일에는 프로젝트, 의존성 라이브러리, 빌드 등의 정보 및 해당 프로젝트를 관리하는데 필요한 내용이 들어있습니다.
흠.. 그럼 maven이란 무엇일까요?
빌드관리도구
-빌드 관리 도구는 JVM이나 WAS가 프로젝트를 인식하고 실행할 수 있게 우리가 작성한 소스코드와 프로젝트에 사용된 파일들(.xml .jar .properties)을 빌드하는 도구 입니다. 가장 좋은 점은 개발의 규모가 커질수록 관리할 라이브러리가 많아지고 라이브러리 간 버전 호환성을 체크해야하는 복잡함이 발생하는데 이를 빌드 관리 도구를 사용하면 해결할 수 있습니다.
그래서 Maven이 뭐냐고여!!
Maven
maven은 빌드 관리도구 중 하나로 Java 기반의 프로젝트를 빌드하고 관리하는데 사용하는 "도구"입니다. Spring에서는 크게 Gradle과 Maven으로 나누어져있습니다.
메이븐의 가장 큰 특징은 pom.xml파일에 필요한 라이브러리를 추가하면 해당 라이브러리에 필요한 라이브러리까지 함께 내려받아 관리하는 점입니다.
메이븐의 대표기능
- 프로젝트 관리 : 프로젝트 버전과 아티팩트를 관리합니다.
- 빌드 및 패키징 : 의존성을 관리하고 설정된 패키지 형식으로 빌드를 수행합니다.
- 테스트 : 빌드를 수행하기 전에 단위 테스트를 통해 작성된 어플리케이션 코드의 정상 동작 여부를 확인합니다.
- 배포 : 빌드가 완료된 패키지를 원격 저장소에 배포합니다.
메이븐의 생명주기
메이븐의 기능은 생명주기 순서에 따라 관리되고 동작합니다. 메이븐의 생명주기는 크게 기본 생명주기(Default Lifecycle), 클린 생명주기(Clean Lifecycle), 사이트 생명주기(SiteLifecycle)로 구분됩니다.
- Default 생명주기
- validate -> compile -> test -> package -> verify -> install -> deploy
- validate : 프로젝트를 빌드하는 데 필요한 모든 정보를 사용할 수 있는지 검토
- compile : 프로젝트 소스코드를 컴파일
- test : 단위 테스트 프레임워크를 사용해 테스트를 실행합
- package : 컴파일한 코드를 가져와서 JAR등의 형식으로 패키징을 수행
- verify : 패키지가 유효하며 일정 기준을 충족하는지 확인
- install : 프로젝트를 사용하는 데 필요한 패키지를 로컬 저장소에 설치
- deploy : 프로젝트를 통합 또는 릴리스 환경에서 다른 곳에 공야하기 위해 원격 저장소에 패키지를 복사
- validate -> compile -> test -> package -> verify -> install -> deploy
- Clean 생명주기
- clean : 이전 빌드가 생성한 모든 파일을 제거
- Site 생명주기
- site -> site deploy
- site : 메이븐의 설정 파일 정보를 기반으로 프로젝트의 문서 사이트를 생성합니다.
- site - deploy : 생성된 사이트 문서를 웹 서버에 배포합니다.
- site -> site deploy
728x90
'Spring' 카테고리의 다른 글
| 간단한 서버 간 통신 @FeignClient (0) | 2023.08.03 |
|---|---|
| OAuth2 (이론 및 준비) (0) | 2023.07.20 |
| ORM(Object Relational Mapping) (0) | 2023.04.09 |
| API 작성 (0) | 2023.03.19 |
| Spring Boot!란? (0) | 2023.03.12 |