pom.xml中${project.basedir}的含义是什么?

88

什么是

的含义?

<directory>${project.basedir}</directory>

${project.build.directory}
在pom.xml文件中。

1
https://maven.apache.org/pom.html#Build_Settings - A_Di-Matteo
12
关闭原因与主题关系不大,似乎完全不合适。 - Ed Randall
1
@EdRandall 关闭的原因确实是无效的,但是我不确定重新开放是否有意义,因为已经有答案了。这可能值得将其设置为受保护状态,而不是关闭。 - Dmytro Rostopira
2个回答

84

所有Maven项目都有一组可用属性。

POM简介中可以了解到:

project.basedir: 当前项目所在的目录。

这意味着它指向Maven项目在系统上的位置,对应于pom.xml文件的位置。如果您的POM位于/path/to/project/pom.xml中,则此属性将被解析为/path/to/project

有些属性也是从超级POM继承而来的,例如 project.build.directory。它是POM中<project><build><directory>元素内的值。您可以通过查看Maven模型获取所有这些值的描述。对于 project.build.directory,它是:

生成的所有文件放置的目录。默认值为target

这是将容纳构建生成的每个文件的目录。


在父级P下,是否有任何Maven变量可以引用模块A的资源,以便在模块B中使用? - Katy

29

1
如果你的 pom.xml 在子目录中,那么不一定是“根目录”,正如其他答案所解释的那样。 - Leponzo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接