在Maven中,project.build.directory引用了什么?我有点困惑,是否引用了Maven项目中的源代码目录或目标目录?
mab*_*aba 218
您可以在超级pom中找到那些maven属性.
你在这里找到了罐子:
${M2_HOME}/lib/maven-model-builder-3.0.3.jar
Run Code Online (Sandbox Code Playgroud)
用7-zip或其他一些存档器(或使用jar工具)打开罐子.
导航
org/apache/maven/model
Run Code Online (Sandbox Code Playgroud)
在那里你会找到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>
Run Code Online (Sandbox Code Playgroud)
经过一番游说,我正在添加链接pom-4.0.0.xml.这允许您在不打开本地jar文件的情况下查看属性.
sdo*_*ass 40
它指向您的顶级输出目录(默认情况下为"target"):
http://docs.codehaus.org/display/MAVENUSER/MavenPropertiesGuide
编辑:正如已经指出的那样,Codehaus现在已经不幸失败了.您可以在这里找到Sonatype的这些属性的详细信息:
如果您曾尝试在Maven中引用输出目录,则不应使用像target/classes这样的文字值.相反,您应该使用属性引用来引用这些目录.
Run Code Online (Sandbox Code Playgroud)project.build.sourceDirectory project.build.scriptSourceDirectory project.build.testSourceDirectory project.build.outputDirectory project.build.testOutputDirectory project.build.directorysourceDirectory,scriptSourceDirectory和testSourceDirectory提供对项目源目录的访问.outputDirectory和testOutputDirectory提供对Maven将放置字节码或其他构建输出的目录的访问.directory指的是包含所有这些输出目录的目录.
小智 5
您可以找到项目中价值的最新答案,只需执行
mvn3 help:effective-pom
Run Code Online (Sandbox Code Playgroud)
命令并<build> ... <directory>在结果中找到标签的值,也就是在 Effective-pom 中。除非您已覆盖,否则它将显示 Super POM 的值。
| 归档时间: |
|
| 查看次数: |
193396 次 |
| 最近记录: |