JAVA/MAVEN

메이븐(MAVEN) 이란 ?

으악꿈 2021. 2. 18. 14:11
728x90
  • 프로젝트에 대한 표준화된 관리 방법을 제공하는 프로젝트 관리 프레임워크
  • 모든 프로젝트에 표준화된 디렉터리 구조와 빌드 프로세스 유지
  • 필요한 라이브러리를 pom.xml에 정의해 놓으면 네트워크를 통해 라이브러리들을 자동으로 다운 ( 라이브러리 관리 용이 )
  • POM을 이용하여 빌드에서부터 시작해서 의존성 관리 및 배포까지 모든 것을 관리

Maven Project 구조

1) src/main/java

  • 처리할 소스 ( java, package )

2) src/main/resource

  • 설정 파일 ( xml, xsd )

3) src/main/webapps

  • JSP, html 파일 등

4) pom.xml

 

 

pom.xml 구조 및 사용법

<project>
    <modelVersion>POM 모델 버전</modelVersion>
    <groupId>그룹 ID (제작자, 회사, 단체 등)</groupId>
    <version>프로그램 버전</version>
    <packaging>패키지 종류(zip, jar 등)</packaging>
    <!--개발의 경우 war를 지정할 수도 있음-->

    <name>프로그램 이름</name>
    <url>프로젝트와 관련된 Web사이트 주소</url>
    <properties>
        pom.xml에서 사용하는 속성 값 등
    </properties>
    
    <project.build.sourceEncoding>코드인코딩</project.build.sourceEncoding>
    
    <!-- 이 프로그램이 참조하는 라이브러리 정보 -->
    <dependencies>
        <dependency>
            <groupId>그룹 ID</groupId>
            <artifactId>jar파일 이름</artifactId>
            <version>버전</version>
            <scope>언제 사용하는 지</scope>
        </dependency>
        <dependency>... 생략 ...</dependency>
        <dependency>... 생략 ...</dependency>
    </dependencies>
</project>

 

Build Life Cycle??

1) 미리 정의되어 있는 Build들의 순서

 

2) 각 빌드 단계를 Phase라고 함.

  • 특정 순서에 따라 goal이 실행되도록 구조를 제공
  • Phase간에는 의존 관계가 있음.

3) 기본적인 Maven Build LifeCylce

  • Maven build : 메이븐 빌드를 실행
  • Maven build… : 새로운 사용자 빌드를 만든다.
  • Maven clean : target에 지정된 모든 소스 삭제
  • Maven generate-sources : 컴파일 과정에 포함될 소스 생성
  • Maven install : 로컬 저장소에 패키지 복사
728x90