我是否可以使用插件或工具快速删除pom defn中的所有<version>
标签?
我有一些包含50-80个模块的多模块项目,每个模块都有一个<version>
标签。但是,它们都是从公共父级继承的,所以我宁愿删除每个模块pom中的所有<version>
定义,并让它继承父级的版本。
搜索&amp;替换显然会删除插件,依赖项等中的任何标记。
是否存在可以快速为我做这件事的事情?目前,我发现自己单独编辑每个文件,这很费时间。
答案 0 :(得分:0)
经过一番头疼之后,我想出了一个相当简单的方法。
使用versions-maven-plugin,我能够以递归方式遍历应用程序中的每个模块,并将版本设置为某个已知字符串。然后,它就变成了一个简单的搜索和替换来删除那一个字符串。
例如:
find . -name pom.xml -exec mvn versions:set -DnewVersion=9999_TO_DELETE_9999 -f {} \;
然后它变成一个简单的搜索和替换来删除<VERSION>9999_TO_DELETE_9999</VERSION>
字符串。
必须注意从find命令中排除父pom,否则它也将更新所有模块中的父pom版本。
也许不像Groovy那么优雅,但相当快速和简单。