Maven'de ne project.build.directoryifade ediyor? Biraz kafam karıştı, Maven projesinde kaynak kod dizinine veya hedef dizine başvuruyor mu?
Maven'de ne project.build.directoryifade ediyor? Biraz kafam karıştı, Maven projesinde kaynak kod dizinine veya hedef dizine başvuruyor mu?
Yanıtlar:
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>
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.
project.build.directoryörneğin varsayılan değerini göstermiyor . Göstermek istediğim buydu.
Üst düzey çıkış dizininizi gösterir (varsayılan olarak target):
EDIT: Belirtildiği gibi, Codehaus şimdi ne yazık ki geçersiz. Bu özelliklerle ilgili ayrıntıları Sonatype'dan bulabilirsiniz:
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,,scriptSourceDirectoryvetestSourceDirectoryproje için kaynak dizinlere erişim sağlar.outputDirectoryvetestOutputDirectoryMaven'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.
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.
${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.
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.