티스토리 뷰

☠️ Java

메이븐(Maven)

James Wetzel 2024. 8. 31. 10:11
728x90
반응형

메인븐(Maven)이란?

 

Maven은 프로젝트를 표준화된 방식으로 관리하고, 의존성을 자동으로 처리하며, 빌드 과정을 자동화하는 데 도움을 줍니다.

pom.xml 파일을 통해 프로젝트의 의존성, 빌드 설정 등을 관리할 수 있습니다.
Maven을 사용하면 프로젝트를 일관되게 관리하고, 빌드 및 배포 과정을 효율적으로 처리할 수 있습니다.


메이븐(Maven)의 주요 특징

 

프로젝트 관리
Maven은 프로젝트 구조를 표준화하여, 개발자들이 쉽게 프로젝트를 관리할 수 있게 도와줍니다. 

프로젝트의 기본 디렉터리 구조, 빌드 과정, 테스트, 배포 등을 표준화된 방식으로 관리합니다.

 

의존성 관리

Maven은 프로젝트에서 필요한 라이브러리(의존성)를 중앙 저장소(예: Maven Central Repository)에서 

자동으로 다운로드하고 관리합니다.
pom.xml 파일에 의존성을 선언하면 Maven이 해당 라이브러리를 다운로드하고, 프로젝트에 포함시킵니다.

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>6.1.11</version>
</dependency>

 

빌드 자동화
Maven은 소스 코드 컴파일, 테스트, 패키징, 배포 등의 과정을 자동으로 처리해 줍니다.
pom.xml 파일에 정의된 명령어를 통해 프로젝트를 빌드하거나 패키징할 수 있습니다.


플러그인 시스템
Maven은 다양한 플러그인을 통해 확장 가능합니다. 

예를 들어, JAR 파일 생성, 테스트, 코드 분석 등을 위한 플러그인을 사용할 수 있습니다.

 

라이프사이클 관리
Maven은 프로젝트의 라이프사이클(compile, test, package, deploy 등)을 관리하며, 각 단계별로 적절한 작업을 수행합니다.


Maven의 기본 파일: pom.xml
Maven 프로젝트의 핵심은 pom.xml(Project Object Model) 파일입니다. 

이 파일에는 프로젝트의 기본 정보, 의존성, 빌드 설정, 플러그인 등이 정의됩니다.

<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 
                             http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>my-app</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>6.1.11</version>
        </dependency>
    </dependencies>
</project>

dependency

<dependency>와 관련된 정보는 아래 링크 사이트에서 검색 후 추가를 하면된다.

https://mvnrepository.com/


추가 정보

메이븐을 사용하여 Spring Web MVC를 구축하는 예제

스프링 프레임워크(Spring FrameWordk)-Spring Web MVC

 

스프링 프레임워크(Spring FrameWordk)-Spring Web MVC

사전 정보java 21.0.4 2024-07-16 LTSJava(TM) SE Runtime Environment (build 21.0.4+8-LTS-274)Java HotSpot(TM) 64-Bit Server VM (build 21.0.4+8-LTS-274, mixed mode, sharing) Tomcat v10.1Eclipse Version: 2024-06 (4.32.0) Dynamic Web Pr

jangjeonghun.tistory.com

 

728x90
반응형