pom.xml 中 $project.basedir 的含义
Posted
技术标签:
【中文标题】pom.xml 中 $project.basedir 的含义【英文标题】:Meaning of $project.basedir in pom.xmlpom.xml 中 $project.basedir 的含义 【发布时间】:2016-06-29 08:19:27 【问题描述】:是什么意思
<directory>$project.basedir</directory>
和
$project.build.directory
在 pom.xml 中
【问题讨论】:
maven.apache.org/pom.html#Build_Settings 几乎没有离题,给出的关闭理由似乎完全不合适。 @EdRandall 关闭的原因确实无效,但是我不确定是否有必要重新打开,答案已经给出。这可能值得设置为受保护,而不是关闭 【参考方案1】:所有 Maven 项目都有一组可用的属性。
来自Introduction to the POM:
project.basedir
:当前项目所在的目录。
这意味着这指向您的 Maven 项目在系统上的位置。它对应于pom.xml
文件的位置。如果您的 POM 位于 /path/to/project/pom.xml
内,则此属性将评估为 /path/to/project
。
某些属性也继承自Super POM,project.build.directory
就是这种情况。它是 POM 的 <project><build><directory>
元素内的值。您可以通过查看Maven model 获得所有这些值的描述。对于project.build.directory
,是:
构建生成的所有文件所在的目录。默认值为
target
。
该目录将保存构建生成的每个文件。
【讨论】:
【参考方案2】:$project.basedir
是你项目的根目录。
$project.build.directory
等价于$project.basedir/target
正如这里定义的那样: https://github.com/apache/maven/blob/trunk/maven-model-builder/src/main/resources/org/apache/maven/model/pom-4.0.0.xml#L53
【讨论】:
以上是关于pom.xml 中 $project.basedir 的含义的主要内容,如果未能解决你的问题,请参考以下文章