有了maven,我怎样才能获得我的根pom的绝对路径?

时间:2016-06-09 15:29:33

标签: maven

我需要获取位于我的根pom下方的子目录的绝对路径。 例如,pom位于: c:\somepath\pom.xml 我需要获得绝对路径: c:\somepath\myIncludes\ 我需要这个,同时在一个像这样的路径的pom中构建: c:\somepath\subdir1\pom.xml c:\somepath\subdir1\evendeeperdir\pom.xml

为了避免评论这是一个愚蠢的事情,我需要这个,因为:

  • 由pom构建的C ++代码需要包含的路径。
  • 有多个C ++项目具有不同的相对路径(因此,即使相对路径可以工作,它也太繁琐且容易使用多个相对路径)
  • 该项目主要是java(所以我想用maven构建它)
  • 整个事情是巨大而遗留的,所以我无法对结构进行彻底的改变。

4 个答案:

答案 0 :(得分:0)

您可以使用环境变量${project.basedir}找到路径搜索问题的正确入口点。

答案 1 :(得分:0)

通过向maven配置文件设置添加属性来创建一个env变量

<profile>
        <id>local-properties</id>
        <properties>
            <SOME_PATH>yourPath</SOME_PATH>
        </properties>
</profile>

答案 2 :(得分:0)

曾几何时我需要做类似的事情,但我需要一个版本。也许您可以调整this answer中的过程来确定根目录。

答案 3 :(得分:0)

在根 pom 中声明一个属性为 <properties><rootdirectory>${project.basedir}\myIncludes</rootdirectory> </properties>

对于子 pom,将 rootdirectory 的值覆盖为 <properties> <rootdirectory>${project.parent.basedir}\myIncludes</rootdirectory> </properties>