개발자 '쑥말고인절미'

[Spring] maven, pom.xml에 대하여 본문

STUDY/Spring & SpringBoot

[Spring] maven, pom.xml에 대하여

쑥말고인절미 2022. 11. 26. 02:44

간단 정리

  • 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 기본 시스템 라이브러리는 제외한다.
    • 해당 태그 내부에 아래와 같은 태그들이 입력된다.
      1. <groupId> : 라이브러리의 그룹ID
      2. <artifactId> : 라이브러리의 아티팩트ID
      3. <version> : 라이브러리의 버전
      4. <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