03
18
728x90

메이븐?

프로젝트 구조와 내용을 기술하는 선언적 접근방식의 오픈 소스 빌드 툴이다. 메이븐을 사용하면 프로젝트 종속 라이브러리들과 그 라이브러리에 의존하는 Dependency 자원까지 관리할 수 있다. 메이븐은 프로젝트 전반의 리소스 관리와 설정 파일 그리고 이와 관련된 표준 디렉터리 구조를 처음부터 일관된 형태로 구성하여 관리한다. 메이븐을 사용하면 컴파일과 동시에 빌드를 수행할 수 있을 뿐만 아니라 관련된 라이브러리도 일관성 있게 관리할 수 있어 편리하다.

 

메이븐 프로젝트 구성요소

구성 요소 설명
pom.xml
(pom : Project Object Model)
프로젝트 정보가 표시되며 스프링에서 사용되는 여러 가지 라이브러리를 설정해 다운로드 할 수 있다.
src/main/java 자바 소스 파일이 위치
src/main/resources 프로퍼티 파일이나 XML 파일 등 리소스 파일이 위치
src/main/webapp Web_INF 등 웹 애플리케이션 리소스가 위치
src/test/java JUnit 등 테스트 파일이 위치
src/test/resources 테스트 시에 필요한 resource 파일이 위치

pom.xml안에서 <dependencies> 태그를 이용해 이 프로젝트가 의존하는 여러가지 라이브러리를 설정한다.

 

pom.xml의 프로젝트 정보 설정 태그 구성요소

속성 설명
groupId 프로젝트 그룹 id를 나타내며 일반적으로 도메인 이름을 사용해 설정
artifactId 프로젝트 아티팩트 id를 설정, 대개는 패키지 이름으로 설정
version 프로젝트의 버전을 설정
packaging 애플리케이션 배포 시 패키징 타입을 설정

 

<dependencies> 태그 안에서 사용되는 태그

속성 설명
dependency 해당 프로젝트에서 의존하는 다른 라이브러리 정보를 기술
groupId 의존하는 프로젝트 그룹 id
artifactId 의존하는 프로젝트 artifact id
version 의존하는 프로젝트 버전 정보

 

pom.xml 예시

pom.xml에는 라이브러리 관리에 관한 내용이 들어가 있다.

<?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.myspring</groupId>
	<artifactId>pro27</artifactId>
	<name>pro27</name>
	<packaging>war</packaging>
	<version>1.0.0-BUILD-SNAPSHOT</version>
	<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>
	<dependencies>
        <!-- Spring -->
        //dependency : 의존하는 라이브러리 기술
        <dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-context</artifactId>
		<version>${org.springframework-version}</version>
        </dependency>
        <dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-webmvc</artifactId>
		<version>${org.springframework-version}</version>
        </dependency>
</project>

 

728x90

'백엔드 > 웹개발' 카테고리의 다른 글

[웹개발] REST?  (0) 2022.03.24
[웹개발] 타일즈(tiles)  (0) 2022.03.18
[웹개발/이클립스] 메이븐 설치하기  (0) 2022.03.17
[웹개발] 스프링 애너테이션  (0) 2022.03.15
[웹개발] 마이바티스  (0) 2022.03.14
COMMENT