从maven获取$ {basedir}的父目录

Sur*_*amy 12 java maven

有没有办法${basedir}在我的pom.xml中获取父目录?目前我有

<earSourceDirectory>${basedir}/EAR/src/main/resources</earSourceDirectory> 
Run Code Online (Sandbox Code Playgroud)

但我需要访问basedir的父目录,因为我的资源位于不同的maven项目中.

如何获取$的父文件夹{basedir}

die*_*sis 9

${project.basedir}/../
Run Code Online (Sandbox Code Playgroud)

但是,我试图避免访问不同模块中的资源.我建议使用maven-dependency-pluginunpack目标.


ash*_*ish 8

在孩子们:

<properties>
    <main.basedir>${project.parent.basedir}</main.basedir>
</properties>
Run Code Online (Sandbox Code Playgroud)

在孙子孙女:

<properties>
    <main.basedir>${project.parent.parent.basedir}</main.basedir>
</properties>
Run Code Online (Sandbox Code Playgroud)

  • @tribbloid在Maven 3中添加了什么而不是$ {project.parent.parent.basedir}? (3认同)

Rob*_*lte 6

请不要试图走出 basedir,因为这被认为是一种非常糟糕的做法。即使你现在成功了,这也将是一种替代变通方法的开始,试图与 Maven 抗争。最终,Maven 将获胜。如果开发人员签出带有 的目录pom.xml,它应该能够在mvn verify不引用其他目录的情况下运行项目。

如果这些是共享资源,请将其设为单独的项目并将其作为依赖项包含(搜索多模块项目)。或者使用maven-remote-resources-plugin将这些资源拉入您的项目。