проект Maven.строить.справочник



в Maven, что значит project.build.directory ссылаться? Я немного смущен, ссылается ли он на каталог исходного кода или целевой каталог в проекте Maven?

498   3  

3 ответов:

вы можете найти эти свойства maven в super pom.

вы найдете банки здесь:

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

откройте банку с помощью 7-zip или другого архиватора (или используйте инструмент jar).

перейти к

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"):

http://docs.codehaus.org/display/MAVENUSER/MavenPropertiesGuide

EDIT: как уже отмечалось, 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 предоставьте доступ к исходным каталогам для проекта. outputDirectory и testOutputDirectory предоставляют доступ к каталогам, в которые Maven собирается поместить байт-код или другой вывод сборки. каталог ссылается на каталог, который содержит все эти выходные каталоги.

Вы можете найти самый актуальный ответ на значение в вашем проекте просто выполните

mvn3 help:effective-pom

команда и найти <build> ... <directory> значение тега в результате aka в эффективном-pom. Он покажет значение Super POM, если вы не перезаписали.

Comments

    Ничего не найдено.