Maven'de ne project.build.directory
ifade ediyor? Biraz kafam karıştı, Maven projesinde kaynak kod dizinine veya hedef dizine başvuruyor mu?
Maven'de ne project.build.directory
ifade 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
,,scriptSourceDirectory
vetestSourceDirectory
proje için kaynak dizinlere erişim sağlar.outputDirectory
vetestOutputDirectory
Maven'in bayt kodu veya başka bir derleme çıktısı koyacağı dizinlere erişim sağlar.directory
bu çıktı dizinlerinin tümünü içeren dizini ifade eder.
project.base.dir
pom.xml dosyasının bulunduğu projenin kök dizinini gösterir. Bundan sonra project.build.directory
Maven 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.