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 입니다 .

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