Maven - 引用系统路径上的目录的最佳方式

M99*_*M99 1 ant maven-2 maven-plugin maven

我正在尝试从我的 Maven 项目构建 RPM。我有 5 个不同的模块,每个模块都有自己的 pom.xml,在根目录中我有一个 pom.xml,它构建所有模块(典型的 Maven 设置)。当我构建 RPM 时,我想包含一个不属于 Maven 目录的目录。它位于一个目录之上 [来自包含我的 Maven 模块的根文件夹]。将其包含在我的 RPM 中的最佳方式是什么?或者更确切地说,引用目录而不对路径进行硬编码的最佳方法是什么?我对 ${baseDir} 及其含义感到困惑?

谢谢。

Ben*_*Ben 5

${project.basedir}指的是项目的根目录,即 pom.xml 所在的位置,因此您可以在<systemPath>${project.baseDir}/../../dirYouWant</systemPath>

但一般来说,Maven 最佳实践会不赞成依赖项目周围的相对路径。相反,我建议将这些文件作为自己的项目部署到您的 Maven 存储库(作为 zip、jar 等),然后将它们作为 rpm 构建的一部分。根据您用来构建 RPM 的插件,您可以自动解压这些文件。