有没有办法${basedir}
在我的pom.xml中获取父目录?目前我有
<earSourceDirectory>${basedir}/EAR/src/main/resources</earSourceDirectory>
Run Code Online (Sandbox Code Playgroud)
但我需要访问basedir的父目录,因为我的资源位于不同的maven项目中.
如何获取$的父文件夹{basedir}
?
${project.basedir}/../
Run Code Online (Sandbox Code Playgroud)
但是,我试图避免访问不同模块中的资源.我建议使用maven-dependency-plugin的unpack目标.
在孩子们:
<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)
请不要试图走出 basedir,因为这被认为是一种非常糟糕的做法。即使你现在成功了,这也将是一种替代变通方法的开始,试图与 Maven 抗争。最终,Maven 将获胜。如果开发人员签出带有 的目录pom.xml
,它应该能够在mvn verify
不引用其他目录的情况下运行项目。
如果这些是共享资源,请将其设为单独的项目并将其作为依赖项包含(搜索多模块项目)。或者使用maven-remote-resources-plugin将这些资源拉入您的项目。