[maven] 메이븐 project.build.directory

메이븐에서, 무엇을 project.build.directory의미합니까? 약간 혼란스러워 Maven 프로젝트의 소스 코드 디렉토리 또는 대상 디렉토리를 참조합니까?



답변

수퍼 폼에서 해당 maven 속성을 찾을 수 있습니다.

여기에 항아리가 있습니다.

${M2_HOME}/lib/maven-model-builder-3.0.3.jar

7-zip 또는 다른 보관기로 항아리를 엽니 다 (또는 항아리 도구 사용).

로 이동

org/apache/maven/model

거기에 있습니다 pom-4.0.0.xml.

여기에는 “바로 가기”가 모두 포함됩니다.

<project>
    ...
    <build>
        <directory>${project.basedir}/target</directory>
        <outputDirectory>${project.build.directory}/classes</outputDirectory>
        <finalName>${project.artifactId}-${project.version}</finalName>
        <testOutputDirectory>${project.build.directory}/test-classes</testOutputDirectory>
        <sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
        <scriptSourceDirectory>src/main/scripts</scriptSourceDirectory>
        <testSourceDirectory>${project.basedir}/src/test/java</testSourceDirectory>
        <resources>
            <resource>
                <directory>${project.basedir}/src/main/resources</directory>
            </resource>
        </resources>
        <testResources>
            <testResource>
                <directory>${project.basedir}/src/test/resources</directory>
            </testResource>
        </testResources>
        ...
    </build>
    ...
</project>

최신 정보

로비를 한 후에 링크를pom-4.0.0.xml 추가 하고 있습니다. 로컬 jar 파일을 열지 않고도 속성을 볼 수 있습니다.


답변

최상위 출력 디렉토리 (기본적으로는 target)를 가리 킵니다 .

https://web.archive.org/web/20150527103929/http://docs.codehaus.org/display/MAVENUSER/MavenPropertiesGuide

편집 : 지적했듯이 Codehaus는 슬프게도 실종되었습니다. Sonatype에서 이러한 속성에 대한 자세한 내용을 확인할 수 있습니다.

http://books.sonatype.com/mvnref-book/reference/resource-filtering-sect-properties.html#resource-filtering-sect-project-properties

Maven에서 출력 디렉토리를 참조하려는 경우 target / classes 와 같은 리터럴 값을 사용해서는 안됩니다 . 대신 이러한 디렉토리를 참조하려면 특성 참조를 사용해야합니다.

    project.build.sourceDirectory
    project.build.scriptSourceDirectory
    project.build.testSourceDirectory
    project.build.outputDirectory
    project.build.testOutputDirectory
    project.build.directory

sourceDirectory, scriptSourceDirectory그리고 testSourceDirectory프로젝트의 소스 디렉토리에 대한 액세스를 제공합니다. outputDirectorytestOutputDirectory메이븐 바이트 코드 또는 다른 빌드 출력을 넣어 것입니다 디렉토리에 대한 액세스를 제공합니다. directory이러한 모든 출력 디렉토리를 포함하는 디렉토리를 참조하십시오.


답변

프로젝트의 값에 대한 최신 답변을 찾을 수 있습니다.

mvn3 help:effective-pom

명령을 실행하고 <build> ... <directory>결과에서 유효 폼 의 태그 값을 찾습니다 . 덮어 쓰지 않으면 Super POM의 값이 표시됩니다.


답변