versions-maven-plugin - 不使用更新的属性构建。

时间:2017-07-19 01:23:55

标签: maven

对于我的项目pom.xml,我有my.project具有此属性。

    <properties> 
        <my.dependency.version>0.0.10</my.dependency.version> 
    </properties>

此版本号代表我正在处理的另一个版本的最新发布版本。

虽然我正在向my.dependency添加新的更改,但我将构建它并将其安装到版本为0.0.11-SNAPSHOT的本地存储库中。

然后我需要重建my.project指向该依赖关系 - 即。将my.dependency.version更新为0.0.11-SNAPSHOT

我已尝试使用versions-maven-plugin执行此操作,如下所示:

    <profile>
        <id>use-latest</id>
        <activation>
            <activeByDefault>false</activeByDefault>
        </activation>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>versions-maven-plugin</artifactId>
                    <version>2.4</version>

                    <executions>
                        <execution>
                            <id>update-dependency-versions</id>
                            <phase>initialize</phase>
                            <goals>
                                <goal>update-property</goal>
                            </goals>
                            <configuration>
                                <allowSnapshots>true</allowSnapshots>
                                <property>my.dependency.version</property>
                            </configuration>
                        </execution>

                      <!--  <execution>
                            <id>clean-up</id>
                            <phase>pre-integration-test</phase>
                            <goals>
                                <goal>revert</goal>
                                 <goal>commit</goal>
                            </goals>
                        </execution> --> 
                    </executions>
                </plugin>
            </plugins>
        </build>
    </profile>

(我现在已经评论了清理工作 - 稍后再说)。

这将修改pom并将属性更新为0.0.11-SNAPSHOT。但是,当它构建并打包项目时,它仍然使用旧的依赖项。

如果我再次运行它,它将使用新的依赖项。这告诉我,maven在改变它们之前阅读所有属性。

有没有办法可以修改依赖项,然后在构建和打包中使用该依赖项?

关于清理的注意事项:然后我想删除我所做的更改,因为我不希望版本控制看到更改。

1 个答案:

答案 0 :(得分:-1)

versions-maven-plugin的目标是update-property,这只是一个独立的目标。

如果您想在构建之前调用它,只需使用versions:update-property package代替package