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 |