【问题标题】:Maven use properties into relativePathMaven 使用属性进入 relativePath
【发布时间】:2025-12-13 12:45:02
【问题描述】:

我有一个引用模块(子项目)的 maven 项目,子项目的父部分的 relativePath 指定为../pom.xml,当我从我的开发人员机器构建时一切正常。

在我的 SVN 上,文件夹结构有点不同,我的子项目文件夹包含 trunk 文件夹,在这个文件夹内有我的源代码。

我在 SVN 上的文件夹结构:

project
|
|-- pom.xml
|-- subproject
    |-- trunk
        |-- pom.xml
        |-- src

如果我想在我的 CI (teamcity) 服务器上构建我的项目,我需要将 relativePath 更改为 ../../pom.xml。是否有其他解决方案可以在不编辑 pom.xml 的情况下做到这一点?我可以将属性从命令行传递给 relativePath 吗?我试过这种方式,但我的输入属性被忽略了。


谢谢

【问题讨论】:

  • 根据您的项目结构更改结构使使用 SVN 和使用项目以及使用 Maven 更容易。 SVN 结构违反了 SVN 中的最佳实践,这意味着每个项目都有一个主干/标签/分支。

标签: java maven svn pom.xml


【解决方案1】:

如果您执行“mvn install -pl”。首先在包含父 pom 的文件夹上(即,从您的 svn 结构中的项目目录中)然后对您的子项目进行 maven 构建,子项目根本不需要相对路径行。你可以离开它,但它会被跳过,因为安装的版本将首先由 maven 从 repo 中找到。 “-pl”。选项告诉 maven 不要构建子模块,只需在本地 repo 中安装父 pom。

【讨论】: