[Spring] Spring 구조 뜯어보기 2 - pom.xml

2022. 11. 16. 11:33·📗 self-study/📗 KH정보교육원 당산지원

 

 

 

pom.xml

👉🏻 Project Object Model의 약자
내가 사용하고자 하는 라이브러리를 직접 등록하여 자동으로 프로젝트에 추가되게 하는 역할
👉🏻 라이브러리 관리의 편의성을 주는 파일 (Maven과 관련된 파일)

 

이거 말하는 것

 

 

 

pom.xml의 구조

1) 파일 정의 영역

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd">

👉🏻 xsi: 유효성 검사를 해 주면서 해당 파일이 xml 파일이 맞음을 인증해 줌

 

2) modelVersion ~ version 엘리먼트 영역

👉🏻 이 스프링 프로젝트에 대한 정보를 기술한 부분

<modelVersion>4.0.0</modelVersion> <!-- Spring Legacy 프로젝트 (4버전대) -->
<groupId>com.kh</groupId> <!-- 2번째 레벨까지의 패키지 구조 -->
<artifactId>spring</artifactId> <!-- 3번째 레벨의 패키지명 (즉, 프로그램명을 뜻함! == contextPath) -->
<name>Spring_Project</name> <!-- 프로젝트명 -->
<packaging>war</packaging> <!-- 배포될 때 압축될 형식 (jar는 일반 응용 프로그램의 배포 형식, war는 웹의 배포 형식)  -->
<version>1.0.0-BUILD-SNAPSHOT</version> <!-- 배포될 war 파일의 버전을 나타냄 -->

 

3) properties 엘리먼트 영역

👉🏻 이 문서에서 사용할 환경설정 내용들을 담은 변수들을 지정한 부분
👉🏻 태그명이 곧 변수명, 시작 태그와 종료 태그 사이의 내용물이 변수에 담긴 데이터
👉🏻 ${변수명} 으로 해당 값을 불러올 수 있음 !! 띄어쓰기 안 됨! 오류 남!

	<properties>
		<java-version>1.6</java-version>
		<org.springframework-version>3.1.1.RELEASE</org.springframework-version>
		<org.aspectj-version>1.6.10</org.aspectj-version>
		<org.slf4j-version>1.6.6</org.slf4j-version>
	</properties>

properties는 이런 식으로 정의를 해 놓은 뒤 dependency 부분에서 변수로 끌어 쓰는 역할을 담당!

안 바꿔도 상관없지만 어떤 역할을 하는지 확인을 위해 최신 버전으로 바꿔 보자!

더보기
먼저 최신 버전 확인하기

https://spring.io/projects/spring-framework

 

Spring Framework

 

spring.io

 

현재 최신 버전인 5.3.23으로 바꿔 주고

 

프로젝트를 업데이트 해 주면

 

jar 파일들의 버전들이 모두 바뀌었음!

 

<properties>
    <java-version>1.8</java-version> <!-- JDK 버전값 -->
    <org.springframework-version>5.3.23</org.springframework-version>  <!-- spring 과 관련된 jar 파일들의 버전값 -->
    <org.aspectj-version>1.6.10</org.aspectj-version>
    <org.slf4j-version>1.6.6</org.slf4j-version>
</properties>

 

 

 

여기서 잠깐!

 

😲❓ 선생님 제가 쓰는 자바는 JDK8 버전인 1.8인데요?

 

🙆🏻‍♀️❗️ 스프링 프로젝트의 자바 기본 버전은 1.6임! 하단의 설정을 각각 1.8로 바꾸어 주자

 

 

 

스프링 프로젝트의 자바 버전 바꾸는 법

1) pom.xml properties 영역의 java-version 태그 내의 숫자를 1.8로 바꾸기

 

2) 드래그 죽죽 내려서 해당 부분을 찾아 수정하기

 

3) 해당 프로젝트 - Maven - Update Project

 

4) 자바 버전 수정 완료!

 

4) dependencies 엘리먼트 영역 

👉🏻 이 프로젝트에서 사용할 라이브러리 (jar 파일들)에 대한 정보들을 담는 곳 
👉🏻 즉, 내가 다운로드 받고자 하는 jar 파일들에 대한 기술 
👉🏻 이것을 '의존성 라이브러리', '의존성 주입' 이라고 부름

 

5) build 엘리먼트 영역

👉🏻 실제 명령 수행 시 필요한 설정에 대한 내용을 기술하는 부분
👉🏻 이 명령을 실행할 때 누가 어떻게 할 건지를 정의해 놓은 곳 

 

저작자표시 비영리 변경금지 (새창열림)
'📗 self-study/📗 KH정보교육원 당산지원' 카테고리의 다른 글
  • *수업동영상 다시 보기* [Spring] Spring 구조 뜯어보기 4 - root-context.xml, servlet-context.xml
  • *수업동영상 다시 보기* [Spring] Spring 구조 뜯어보기 3 - web.xml
  • [Spring] Spring 구조 뜯어보기 1 - 전체적인 구조 파악
  • [Spring] STS(Spring Tool Suite) 설치법 & 세팅
천재강쥐
천재강쥐
  • 천재강쥐
    디버거도 버거다
    천재강쥐
  • 전체
    오늘
    어제
    • Category (467)
      • 진짜 너무 궁금한데 이걸 나만 몰라...? (0)
      • 💾 Portfolio (2)
      • 🐤 CodingTest (28)
        • Java (20)
        • ᕕ(ꐦ°᷄д°᷅)ᕗ❌ (5)
      • 🚀 from error to study (142)
        • AI (1)
        • Cloud (2)
        • DB (12)
        • Front-End (16)
        • Github (14)
        • Java (39)
        • Mac (7)
        • Normal (29)
        • Server (22)
      • 📘 certificate (44)
        • 📘 리눅스마스터1급 (1)
        • 📘⭕️ 정보처리기사 (40)
        • 📘⭕️ SQLD (3)
      • 📗 self-study (234)
        • 📗 inflearn (35)
        • 📗 생활코딩 (8)
        • 📗 KH정보교육원 당산지원 (190)
      • 🎨 Scoop the others (0)
        • 📖 Peeking into other people.. (0)
        • 🇫🇷 (0)
        • 📘⭕️ 한국사능력검정시험 심화 (11)
        • 오블완 (4)
  • 인기 글

  • hELLO· Designed By정상우.v4.10.1
천재강쥐
[Spring] Spring 구조 뜯어보기 2 - pom.xml
상단으로

티스토리툴바