개발자 '쑥말고인절미'
[Spring] maven, pom.xml에 대하여 본문
간단 정리
- pom.xml
- 프로젝트에 필요한 라이브러리 정보를 입력 및 저장하는 파일이다.
- maven
- pom.xml에 내가 필요로 하는 객체의 주소를 적고 저장해 놓으면 자동으로 그 주소로 가서 라이브러리 파일을 다운로드받아 필요한 폴더에 저장되게 하는 기능을 제공한다.
pom.xml에서 사용되는 태그 종류
- <project>
- maven의 XML 네임스페이스를 지정한다.
- 해당 태그 안에 있는 xmlns와 xmlns:xsi 그리고 sxi : schemaLocation과 같은 세세한 속성들은 모두 정해진 값이므로, 복사해서 쓰면 된다고 생각하면 된다. 필요에 따라 수정할 부분은 없다.
- <modelVersion>
- maven의 model Version
- POM 모델 버전이다.
- <groupId>
- 그룹ID
- 프로젝트를 만들 때 입력하는데, 제작자와 회사, 단체 등을 식별하기 위한 것이다.
- <artifactId>
- 아티팩트ID
- 프로젝트에 할당한 고유 ID이다.
- <version>
- 프로그램 버전
- 기본적으로 1.0-SNAPSHOT이 설정되어 있다.
- <packaging>
- 패키징 형식을 지정하는 태그
- 패키지 종류로 jar 또는 zip을 지정한다.
- 웹 애플리케이션의 개발은 war를 지정할 수도 있다.
- <name>
- 프로젝트의 이름
- <url>
- 프로젝트와 관련된 웹사이트의 주소(maven의 url)
- 기본적으로 Apache Maven의 웹사이트의 주소가 지정되어 있다.
- <properties>
- 프로젝트 관련 속성
- 이 태그는 필요에 따라 작성하면 된다.
- <dependencies>
- 프로젝트가 의존하는 라이브러리들의 정보, 즉 이 프로젝트가 참조하는 라이브러리이다.
- JAVA 기본 시스템 라이브러리는 제외한다.
- 해당 태그 내부에 아래와 같은 태그들이 입력된다.
- <groupId> : 라이브러리의 그룹ID
- <artifactId> : 라이브러리의 아티팩트ID
- <version> : 라이브러리의 버전
- <scope> : 라이브러리가 프로젝트 내에서 사용되는 범위
- <dependencies>는 의존 라이브러리를 한 곳에 모아 기술하기 위한 것으로, 각각의 의존 라이브러리 정보는 <dependency> 태그를 사용하여 작성한다.
- <dependency> 태그를 필요한 만큼 <dependencies> 태그 안에 작성한다.
- <dependency>
- 라이브러리 정보를 기술
- 아래와 같은 형태로 작성된다. 아래와 같이 소스를 작성해줌으로써 어떤 라이브러리를 사용하는지 알 수 있다.
- 그룹ID, 아티팩트ID 및 버전은 프로젝트와 동일하다. scope은 해당 라이브러리가 이용되는 범위를 지정하는 것이다. 어떤 때 사용하는지를 나타내는 것인데 프로젝트를 실행할 때 사용하는 경우엔 특별히 지정하지 않아도 되고, 특별한 경우에만 작성해주는 것이라고 생각하면 된다.
<dependency>
<groupId>그룹 ID</groupId>
<artifactId>아티팩트 ID</artifactId>
<version>버전</version>
<scope>범위</scope>
</dependency>
참고링크
https://coding-hyeok.tistory.com/47
[Spring] Maven, pom.xml이 뭐에요?(정의)
spring을 처음 배우기 시작할 때에 pom.xml에 dependency~해서 뭔지도 모르는 코드를 막 적으라한다. 왜 적나, 적으면 뭐가 달라지는지 궁금해진다.(물론 저만의 생각일 수도 >,.target>pom.xml 파일을 열자.
coding-hyeok.tistory.com
https://araikuma.tistory.com/447
[Maven] pom.xml 파일 기본
Maven은 "pom.xml"라는 빌드 파일을 사용하여 빌드 정보를 기술한다. 이 파일이 어떤 내용으로되어 있는지, 그 기본형을 설명한다. Maven은 커멘드를 사용하여 간단히 프로젝트를 만들거나 빌드가 가
araikuma.tistory.com
'STUDY > Spring & SpringBoot' 카테고리의 다른 글
[Spring] Model과 ModelAndView 차이 참고링크 (0) | 2022.12.01 |
---|---|
[Spring] Mapper.java와 Mapper.xml 설명 참고링크 (0) | 2022.11.29 |
스프링 및 스프링 부트 어노테이션 정리(1) (0) | 2022.11.19 |
스프링 컨테이너 BeanFactory와 ApplicationContext (0) | 2022.11.12 |
스프링 프레임워크 시작하기 (0) | 2022.10.29 |