我有一个pom.xml
有这个属性,为我的项目my.project
。版本 - maven-plugin - 不用更新的属性构建。
<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读取所有属性。
有没有办法可以修改依赖关系,然后在构建和打包中使用该依赖关系?
关于清理的注意事项:然后我想删除我所做的更改,因为我不想通过版本控制查看更改。
显然是depencencies的缓存。调用版本插件可能会激活它,并且不会使其无效,因此在那里停留在循环中的下一个插件。先尝试单独运行它。 –