답변:
수퍼 폼에서 해당 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 파일을 열지 않고도 속성을 볼 수 있습니다.
project.build.directory예를 들어 기본값을 보여주지는 않습니다 . 그것이 내가 보여주고 싶었던 것입니다.
최상위 출력 디렉토리 (기본적으로는 target)를 가리 킵니다 .
편집 : 지적했듯이 Codehaus는 슬프게도 실종되었습니다. Sonatype에서 이러한 속성에 대한 자세한 내용을 확인할 수 있습니다.
Maven에서 출력 디렉토리를 참조하려는 경우 target / classes 와 같은 리터럴 값을 사용해서는 안됩니다 . 대신 이러한 디렉토리를 참조하려면 특성 참조를 사용해야합니다.
project.build.sourceDirectory project.build.scriptSourceDirectory project.build.testSourceDirectory project.build.outputDirectory project.build.testOutputDirectory project.build.directory
sourceDirectory,scriptSourceDirectory그리고testSourceDirectory프로젝트의 소스 디렉토리에 대한 액세스를 제공합니다.outputDirectory와testOutputDirectory메이븐 바이트 코드 또는 다른 빌드 출력을 넣어 것입니다 디렉토리에 대한 액세스를 제공합니다.directory이러한 모든 출력 디렉토리를 포함하는 디렉토리를 참조하십시오.
project.base.dir는 pom.xml이있는 프로젝트의 루트 디렉토리를 가리 킵니다. 이것이 바로 project.build.directoryMaven이 정의한 이후의 이유 입니다 ${project.basedir}/target. 고마워, 나는 이것을 몰랐다.
${project.build.sourceDirectory}포인트 project-A/src/main/java, ${project.build.scriptSourceDirectory}포인트 project-A/src/main/scripts, ${project.build.testSourceDirectory}포인트 project-A/src/test/java, ${project.build.directory}포인트 project-A/target, ${project.build.directory}포인트 project-A/target/classes, ${project.build.testOutputDirectory}포인트를 project-A/target/test-classes.
프로젝트의 값에 대한 최신 답변을 찾을 수 있습니다.
mvn3 help:effective-pom
명령을 실행하고 <build> ... <directory>결과에서 유효 폼 의 태그 값을 찾습니다 . 덮어 쓰지 않으면 Super POM의 값이 표시됩니다.