Maven - 在存储库中安装时替换project.pom文件中的属性

时间:2010-01-20 19:51:08

标签: maven-2

我有一个定义属性的父项目,例如:

    <properties>
        <myproject-version>1.0</myproject-version>
    </properties>

在“儿童”项目中,我使用

<parent>
    <groupId>com.home</groupId>
    <artifactId>my-modules</artifactId>
    <version>${myproject-version}</version>
</parent>

一切都很好,但是当Maven在存储库中安装jar时,它会创建像

这样的pom
<parent>
    <groupId>com.home</groupId>
    <artifactId>my-modules</artifactId>
    <version>${myproject-version}</version>
</parent>

我需要将my-version的值替换为1.0

<parent>
    <groupId>com.home</groupId>
    <artifactId>my-modules</artifactId>
    <version>1.0</version>
</parent>

有没有办法做到这一点?我需要1.0,因为当其他项目使用我的项目作为依赖项时会出现一些编译问题。 (他们寻找版本$ {myproject-version}而不是'1.0'

1 个答案:

答案 0 :(得分:1)

实际上,我很惊讶地看到这个甚至有效。必须在父标记中指定版本 (否则无法知道从存储库中提取哪个版本)但该版本应根据数据定义在父pom中定义,否则会出现一个明显的问题:需要父pom来确定需要哪个父pom。

所以我认为没有办法做你想做的事情,说实话,我认为这是一个坏主意。