我有一个多模块项目,当我运行以下命令时,我想通过使用exec-maven-plugin运行shell脚本来验证先决条件
mvn exec:exec -Dexec.executable = / apps / rm-scripts / verify.sh
它遍历所有模块并执行脚本,我的要求是,它不应该查看模块,而应该只在父项目上运行
任何人都可以帮助吗?....感谢您的时间
答案 0 :(得分:0)
您可以使用--non-recursive
选项运行maven,这样目标只会在父项目上运行:
mvn --non-recursive exec:exec -Dexec.executable=/apps/rm-scripts/verify.sh
如果只需要在某些项目上运行脚本,请使用--projects
选项。给定的参数必须是用逗号分隔的路径列表。
使用此项目层次结构:
project
+-- module_A
+-- module_B
| +-- module_B1
| +-- module_B2
+-- module_C
+-- module_C1
仅针对module_A
,module_B1
和module_C2
项目运行命令:
mvn --projects module_A,module_B/module_B1,module_C/module_C2 exec:exec -Dexec.executable=/apps/rm-scripts/verify.sh