[maven] 미리 정의 된 Maven 속성 목록은 어디에 있습니까?

미리 정의 된 모든 Maven 속성 목록이 있음을 알고 있습니다 ( project.build.sourceEncoding또는 project.build.sourceDirectory). 한 번 목록을 보았지만 다시 찾을 수 없습니다.



답변


답변

무료 온라인 서적 Maven : The Complete Reference9.2 .: Maven 속성 섹션을 살펴보십시오 .


답변

“유효한 POM”을 보면 아마도 도움이 될 것입니다. 예를 들어, 경로가 무엇인지 알고 싶다면${project.build.sourceDirectory}

효과적인 POM에서 다음과 같은 관련 XML을 찾을 수 있습니다.
<project>
<build>
<sourceDirectory>/my/path</sourceDirectory>

또한 도움이 mvn help:evaluate됩니다. POM과 동일한 디렉토리에있는 동안 명령 줄을 실행하여 속성을 실시간으로 평가할 수 있습니다 .


답변

가장 좋은 곳은 Super POM 이라고 생각합니다. .

예를 들어, 작성시 링크 된 참조는 라인 32-48 사이의 일부 특성을 보여줍니다.

이것에 대한 해석은 XPath를 . 구분 된 속성 입니다.

예를 들어,

${project.build.testOutputDirectory} == ${project.build.directory}/test-classes

과:

${project.build.directory} == ${project.basedir}/target

따라서 그것들을 결합하면 다음을 발견 할 수 있습니다.

${project.build.testOutputDirectory} == ${project.basedir}/target/test-classes

(리소스 디렉토리를 참조하려면 이 stackoverflow 질문을 참조하십시오 )


<project>
    <modelVersion>4.0.0</modelVersion>
    .
    .
    .
    <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>


답변

필자는 폐지 된 Codehaus 페이지에 대한 부실한 참조로이 페이지를 보는 것에 지쳤으므로 Maven Users 메일 링리스트 에 요청하여 최신 답변을 얻었습니다.

위 링크에 포함 된 가장 좋은 (그리고 가장 권위있는) 답변은 Hervé BOUTEMY가 제공 한 답변이라고합니다.

핵심 참조는 다음과 같습니다.
http://maven.apache.org/ref/3-LATEST/maven-model-builder/

사용 가능한 정보가 많지만 POM 및 설정 설명자를 가리키고 POM 또는 설정이 아닌 모든 것을 설명하기 때문에 POM 또는 설정에서 찾을 수있는 모든 것을 설명하지 않습니다


답변

이 링크는 모든 활성 속성을 나열하는 방법을 보여줍니다.
http://skillshared.blogspot.co.uk/2012/11/how-to-list-down-all-maven-available.html

요약하면, 다음 플러그인 정의를 POM에 추가 한 후 다음을 실행하십시오 mvn install.

<plugin>
    <artifactId>maven-antrun-plugin</artifactId>
    <version>1.7</version>
    <executions>
        <execution>
            <phase>install</phase>
            <configuration>
                <target>
                    <echoproperties />
                </target>
            </configuration>
            <goals>
                <goal>run</goal>
            </goals>
        </execution>
    </executions>
</plugin>


답변