Maven 2 如何覆盖/防止Maven安装插件行为

Maven 2 如何覆盖/防止Maven安装插件行为,maven-2,maven,maven-plugin,Maven 2,Maven,Maven Plugin,这是一个奇怪的请求,但这里是场景。我正在编写定制的maven插件,这些插件基本上操作构建版本,然后将安装或部署修改后的jar。该插件通过命令行和构建概要文件调用 这些插件都有相似的行为,因此解决方案将适用于所有插件。目前,我正在通过MavenProject.setVersion(newVersion);,在内存中操作项目版本;。这可以使用新版本构建一个本地jar,但是一旦MavenInstaller执行了新版本jar,它就会使用旧版本信息和位置安装在我的本地repo中。有什么方法可以防止或克服这

这是一个奇怪的请求,但这里是场景。我正在编写定制的maven插件,这些插件基本上操作构建版本,然后将安装或部署修改后的jar。该插件通过命令行和构建概要文件调用

这些插件都有相似的行为,因此解决方案将适用于所有插件。目前,我正在通过MavenProject.setVersion(newVersion);,在内存中操作项目版本;。这可以使用新版本构建一个本地jar,但是一旦MavenInstaller执行了新版本jar,它就会使用旧版本信息和位置安装在我的本地repo中。有什么方法可以防止或克服这种行为吗?该插件没有直接使用Maven安装程序或部署程序,只是构建阶段的一部分

该文件执行为:mvn install-Pincrement,增量配置文件与流程源阶段相关联

编辑1:我正在考虑使用一个插件来覆盖安装/部署生命周期,该插件将基本上处理我计划做的事情,同时仍然处理安装/部署的正常行为。


编辑2:在编辑1之后,我能够覆盖默认的生命周期,在本例中,使用自定义解决方案进行安装和部署。我不喜欢它需要一个自定义包,因此打包标签不再指真正的打包类型,并要求我设置一个额外的标签,以便我可以查找该类型。

您查看过版本号插件吗?版本号是单独计算的,在这种情况下,行为有所不同。插件可以在版本为1.0-SNAPSHOT的pom上执行,但插件操作会导致打包1.1。问题是,安装程序随后会获取1.1并将其作为1.0-SNAPSHOT安装。