티스토리 뷰
반응형
Maven
pom.xml
- 메이븐 프로젝트의 핵심
- 메이븐 프로젝트에 대한 설정 정보를 관리하는 파일
- 프로젝트에 필요한 의존 모듈과 플러그인 등에 대한 설정 정보를 가짐
- 모든 메이븐 프로젝트는 루트 디렉토리에 pom.xml이 존재
artifact
메이븐이 관리하는 모듈의 단위
위의 artifact를 해석하면 spring-context라는 식별자를 가진 5.3.10 버전의 아티팩트에 대한 의존을 추가한 것이다.
메이븐은 코드를 컴파일하거나 실행할 때 dependency로 설정한 artifact 파일을 사용한다.
- 의존을 추가: 자바 어플리케이션 클래스패스에 모듈을 추가하는 것
- artifact의 full name: 아티팩트이름-버전.jar
- 위의 이미지는 소스코드를 컴파일 하고 실행할 때 클래스패스에 spring-context-5.3.10.jar 파일을 추가한다는 뜻
jar 파일이 추가되는 과정
1. 메이븐 로컬 레포지토리에 [그룹ID]/[아티팩트ID]/[버전] 디렉토리에 아티팩트ID-버전.jar 파일이 있는지 검사
2 - 1) 있다면? 파일을 사용
2 - 2) 없다면? 원격 중앙 레포지토리에서 해당 파일을 다운로드하여 로컬 레포지토리에 복사한 다음 사용
📌 메이븐은 [사용자홈폴더]/.m2/repository 폴더를 로컬 리포지토리로 사용
의존 전이 (Transitive Dependencies)
dependencies 아래에 spring-context가 있고 그 아래에 spring-aop, spring-beans, spring-core, spring-expression이 있다. spring-context를 사용하기 위해서 다른 artifact들도 필요한 것이다. 의존하는 artifact가 있다면 메이븐은 다른 artifact도 같이 다운로드 한다. 그리고 의존하는 대상의 의존하는 대상도 함께 다운로드 한다.
src 디렉토리 아래에 main 디렉토리가 있고 그 아래에 java, resources 디렉토리들이 위치한다. 위의 이미지에는 없지만 main 아래에 webapp 디렉토리가 위치할 때가 있다.
- java: 자바 코드가 위치
- resources: 자바 코드 외에 다른 파일들이 위치
- webapp: JSP 소스 코드나 WEB-INF/web.xml 파일이 위치
Gradle
주석으로 gradle의 설명을 대체하겠다.
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 확장 함수
- postman collection
- 1차 인터뷰
- postman tests
- Basic Type
- java
- Python
- 네이버 2022 공채
- solidity
- graphql
- Squash and merge
- github
- hashcode
- go 특징
- downTo
- postman
- pm.expect
- Kotlin In Action
- squash merge
- string
- 코딩테스트
- 코틀린
- Kotlin
- pm.test
- mysql
- 주생성자
- DGS Framework
- git
- 2차 인터뷰
- python3
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함