CodeGym /행동 /All lectures for KO purposes /Maven 프로젝트 빌드

Maven 프로젝트 빌드

All lectures for KO purposes
레벨 1, 레슨 927
사용 가능

pom 파일의 일반 보기

프로젝트의 구조는 프로젝트의 루트 폴더에 있어야 하는 pom.xml 파일에 설명되어 있습니다. 프로젝트 파일의 내용은 다음과 같습니다.

<project>
         <!—현재 프로젝트에 대한 설명 -->
         <groupId>...</groupId>
        <artifactId>...</artifactId>
        <packaging>...</packaging>
        <version>... </ version>


         <properties>
             <!-- 속성 섹션 -->
         </properties>

         <리포지토리>
             <!-- 리포지토리 섹션 -->
         </repositories>


         <종속성>
             <!-- 종속성 섹션 -->
         </ 종속성>

         <build>
             <!-- 빌드 섹션 -->
         </build>
</project>

일부 섹션은 pom.xml 설명에 표시되지 않을 수 있습니다. 따라서 속성 및 저장소 섹션은 종종 사용되지 않습니다. 현재 프로젝트의 설명 매개변수가 필요 합니다 . 이제 마지막 섹션에 대해 이야기하겠습니다.

빌드 섹션

빌드 섹션은 선택 사항입니다 . Maven은 빌드 섹션 없이 프로젝트를 빌드할 수 있습니다. 그러나 다소 복잡한 프로젝트의 어셈블리를 설정하려면 모든 것이 어떻게 작동하는지 이해하는 것이 도움이 될 것입니다.

간단한 예를 살펴보겠습니다.

  <build>
         <finalName>projectName</finalName>
         <sourceDirectory>${basedir}/src/java</sourceDirectory>
         <outputDirectory>${basedir}/targetDir</outputDirectory>
        <resources>
                 <resource>
                <directory>${ basedir}/src/java/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                </includes>
                </resource>

        </resources>
        <plugins>
                . . .
        </플러그인>
    </빌드>

이 섹션에는 Java 파일이 있는 위치, 리소스 파일, 사용되는 플러그인, 빌드된 프로젝트를 넣을 위치 등 빌드에 대한 기본 정보가 포함되어 있습니다.

네 가지 주요 태그가 있습니다.

  • <최종 이름>
  • <소스 디렉토리>
  • <출력 디렉토리>
  • <자원>

목적을 간단히 분석해 보겠습니다.

<finalName> 태그는 패키지 단계 에서 생성되는 결과 빌드 파일(jar, war, ear..)의 이름을 지정합니다 . 매개변수를 지정하지 않으면 기본값인 artifactId-version 이 사용됩니다 .

<sourceDirectory> 태그를 사용 하면 소스 파일의 위치를 ​​재정의할 수 있습니다. 기본적으로 파일은 ${basedir}/src/main/java 디렉토리에 있지만 다른 위치를 지정할 수 있습니다.

<outputDirectory> 태그는 컴파일러가 컴파일 결과를 저장할 디렉토리( *.class 파일)를 지정합니다. 기본값은 target/classes 입니다 .

<resources> 태그 와 중첩된 <resource> 태그는 리소스 파일의 위치를 ​​정의합니다. 리소스 파일은 빌드할 때 단순히 outputDirectory 디렉터리 에 복사됩니다 . 자원 디렉토리의 기본값은 src/main/resources 입니다 .

조립 섹션은 특히 유연하게 구성할 수 있습니다. 잠시 후에 자세히 살펴보겠습니다.

코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION