Maven Instagram Hesabındaki Resim ve Videoları project.build.directory


172

Maven'de ne project.build.directoryifade ediyor? Biraz kafam karıştı, Maven projesinde kaynak kod dizinine veya hedef dizine başvuruyor mu?

Yanıtlar:


224

Bu maven özelliklerini süper pom'da bulabilirsiniz.

Kavanozu burada bulabilirsiniz:

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

Kavanozu 7 fermuarlı veya başka bir arşivleyiciyle açın (veya kavanoz aracını kullanın).

Şu yöne rotayı ayarla

org/apache/maven/model

Orada bulabilirsiniz pom-4.0.0.xml.

Tüm bu "kısa yolları" içerir:

<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>

Güncelleme

Bazı lobi sonra ben bir bağlantıpom-4.0.0.xml ekliyorum . Bu, yerel jar dosyasını açmadan özellikleri görmenizi sağlar.


Kavanoza arşivlenmiş dosya yerine çevrimiçi başvuru öneririm. Bu: maven.apache.org/ref/3.0.3/maven-model/maven.html
khmarbaise

18
@khmarbaise Bu da hoş ama size project.build.directoryörneğin varsayılan değerini göstermiyor . Göstermek istediğim buydu.
maba

Github aynası belirli bir satır numarasına bağlanmaya izin verir: github.com/apache/maven-3/blob/trunk/maven-model-builder/src/… Aksi takdirde svn'de
Martin Ellis

@MartinEllis Tamam, cevabımı da bir linkle güncelledim. Teşekkür ederim!
maba

Maven repo kaynağını github.com/apache/maven adresinde aradım . Nispeten az sayıda isabet (9). Hiçbir şey bu özelliği doğrudan ayarlamaz. Bir yere konmalı! Bu URL gördüğüm arama sonuçlarını gösteriyor: github.com/apache/maven/…
PatS

44

Üst düzey çıkış dizininizi gösterir (varsayılan olarak target):

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

EDIT: Belirtildiği gibi, Codehaus şimdi ne yazık ki geçersiz. Bu özelliklerle ilgili ayrıntıları Sonatype'dan bulabilirsiniz:

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

Maven'deki çıktı dizinlerine başvurmaya çalışıyorsanız, hiçbir zaman target / sınıflar gibi değişmez bir değer kullanmamalısınız . Bunun yerine, bu dizinlere başvurmak için özellik başvurularını kullanmalısınız.

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

sourceDirectory,, scriptSourceDirectoryve testSourceDirectoryproje için kaynak dizinlere erişim sağlar. outputDirectoryve testOutputDirectoryMaven'in bayt kodu veya başka bir derleme çıktısı koyacağı dizinlere erişim sağlar. directorybu çıktı dizinlerinin tümünü içeren dizini ifade eder.


1
Codehause.org barındırma işlemi sonlandırıldı ve bu bağlantı artık çalışmıyor.
Bartosz Firyn

Evet, doğru ve üzgün. Çalışan bir bağlantıyla güncelledim ve bağlantılı sayfanın ilgili bölümünü alıntıladım.
sdouglass

7
... yani project.base.dirpom.xml dosyasının bulunduğu projenin kök dizinini gösterir. Bundan sonra project.build.directoryMaven tarafından tanımlanan ${project.basedir}/target. Teşekkürler çocuklar, bunu bilmiyordum.
evaldeslacasa

1
Her ne kadar doğru gibi görünse de, bu bilgiyi nasıl aldınız: "project.base.dir, pom.xml dosyasının bulunduğu projenin kök dizinini gösteriyor". Bu tanımı nerede görebilirim?
qartal

2
projenize A projesi denildiğini ve A projesi altında bir pom.xml bildirildiğini, sonra ${project.build.sourceDirectory}işaret ettiğini project-A/src/main/java, ${project.build.scriptSourceDirectory}işaret ettiğini project-A/src/main/scripts, ${project.build.testSourceDirectory}işaret ettiğini project-A/src/test/java, ${project.build.directory}işaret ettiğini project-A/target, ${project.build.directory}işaret ettiğini project-A/target/classes, ${project.build.testOutputDirectory}işaret ettiğini varsayalım project-A/target/test-classes.
sc30

4

Projenizdeki değer için en güncel cevabı sadece

mvn3 help:effective-pom

komutunu verin ve <build> ... <directory>etiketin değerini etkili bir şekilde aka olarak bulun . Üzerine yazmadıkça Süper POM'un değerini gösterecektir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.