spring framework에서 maven 빌드를 선택하면 pom.xml이 자동 생성된다. POM(Project Object Model)을 설정하는 부분으로 프로젝트 빌드 옵션을 설정하는 부분이다.
기존 프로젝트에서 사용된 pom.xml의 일부분을 나눠 설명하면 다음과 같다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<?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">
<modelVersion>4.0.0</modelVersion>
<groupId>com.spring</groupId>
<artifactId>groupware</artifactId>
<name>Project</name>
<packaging>war</packaging>
<version>1.0.0-BUILD-SNAPSHOT</version>
<properties>
<java-version>1.8</java-version>
<org.springframework-version>4.3.4.RELEASE</org.springframework-version>
<org.aspectj-version>1.6.10</org.aspectj-version>
<org.slf4j-version>1.6.6</org.slf4j-version>
<org.apache.tiles-version>3.0.7</org.apache.tiles-version>
</properties>
|
cs |
<modelVersion> maven pom.xml 모델 버전을 정의하는 태그로 4.0.0 버전임을 알 수 있다.
<groupId> 프로젝트 생성 조직이나 그룹명을 알 수 있는 태그다.
<artifactId> 프로젝트 아티팩트의 고유명이다.
<name> 프로젝트 명
<packing>
패킹을 하는 방식을 설정할 수 있다. jar와 war, ear, pom 등이 있으며, 위 pom.xml은 war로 패킹함을 알 수 있다.
<version>
애플리케이션의 버전을 표시하는 것이다. version에 SNAPSHOT이라는 단어가 있음으로 아직 개발 중임을 알 수 있다.
<properties>
pom.xml의 다른 위치에서 properties 내의 태그를 ${properties 하위태그명}와 같은 방식으로 해당 태그의 val값을 적용할 수 있다. 공통적으로 사용할 버전이나 설정값에 대한 정보를 담아 보기 쉽게 하기 위한 용도로 사용된다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
<repositories>
<repository>
<id>codelds</id>
<url>https://code.lds.org/nexus/content/groups/main-repo</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${org.springframework-version}</version>
</dependency>
</dependencies>
|
cs |
라이브러리 설정을 위해 pom.xml 기본 구성을 변경해서 커스터마이즈할 수 있다. 여기서 라이브러리 추가를 위한 태그는 <repositories>와 <dependencies>로 나뉜다.
<repositories> 저장소 태그. 라이브러리를 받아올 저장소.
<dependencies> 프로젝트에서 사용되는 라이브러리들을 지정.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
<build>
<plugins>
<plugin>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.9</version>
<configuration>
<additionalProjectnatures>
<projectnature>org.springframework.ide.eclipse.core.springnature</projectnature>
</additionalProjectnatures>
<additionalBuildcommands>
<buildcommand>org.springframework.ide.eclipse.core.springbuilder</buildcommand>
</additionalBuildcommands>
<downloadSources>true</downloadSources>
<downloadJavadocs>true</downloadJavadocs>
</configuration>
</plugin>
</plugins>
</build>
|
cs |
<build> 태그 내에 <plugin>
<plugin>의 사용은 다양한데, maven 공식사이트에서 그 종류를 볼 수 있다. 위 코드에서 사용된 것은 Apache Maven Artifact Plugin이다. 현재 빌드 결과를 재현 가능한 빌드 buildinfo 파일에 기록하고 이전에 게시된 참조 빌드와 확인하는 것을 목표로 한다.
maven-eclipse-plugin은 이클립스에서 maven 프로젝트를 import해서 사용할 수 있도록 지원하는 플러그인이다.
'maven-eclipse-plugin' 태그의 글 목록 :: 자바캔(Java Can Do IT)
maven (메이븐 구조, 차이점, 플러그인, 라이프사이클, 의존성, pom.xml)
Maven project 제대로 사용하기 : pom.xml
메이븐(Maven)은 알고 스프링(Spring)을 쓰는가? (pom.xml 분석하며 가볍게 정리하는 빌드 툴, Maven)
'Spring' 카테고리의 다른 글
[Spring] Spring MVC Package Explorer 구성 (0) | 2021.11.02 |
---|---|
[Spring] Spring 프레임워크, Spring Boot, Spring MVC (0) | 2021.11.02 |
[Spring] Spring 프레임워크의 특징 (0) | 2021.10.31 |
[Spring] intelliJ에 maven 세팅하고, Hello World 찍기 (0) | 2021.10.27 |
[Spring] Springboot 프로젝트를 intellij 에서 열 때 생겼던 오류 해결방안 (0) | 2021.03.24 |
- 호스팅영역
- 북클럽
- 개발도서
- LifecycleException
- 기술블로그
- JIRA
- jdbc
- filezila
- AWS
- 독서후기
- java
- 오늘의코딩
- 정보처리기사 실기
- 정보처리기사
- 노마드코더
- 웹페이지만들기
- 노개북
- SQLD
- 정보처리기사 필기
- EC2
- git연동
- gradle
- 실용주의프로그래머
- spring
- IT 5분 잡학사전
- 배포
- gradle build
- putty
- intellij
- ubuntu
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |