对于 GIT
mvn install -amd -pl $(git status | grep -E "modified:|deleted:|added:" | awk '{print $2}' | cut -f1 -d"/")
或
在您的 .bashrc 文件中(.bashrc 可以在主目录 ~/.bashrc 中找到,如果不存在,请创建它)添加以下函数。
mvn_changed_modules(){
[ -z "$1" ] && echo "Expected command : mvn_changed_modules (install/build/clean or any maven command)" && exit 0
modules=$(git status | grep -E "modified:|deleted:|added:" | awk '{print $2}' | cut -f1 -d"/")
if [ -z "$modules" ];
then
echo "No changes (modified / deleted / added) found"
else
echo -e "Changed modules are : `echo $modules`\n\n"
mvn $1 -amd -pl $modules
fi
}
**然后重新启动bash**(命令提示符)后,您**可以从ROOT目录本身使用以下命令**。
smilyface@machine>ProjectRootDir]$ mvn_changed_module install
它是如何工作的
根据问题是“在服务模块中完成一些更改”时的命令。因此,首先从更改的文件中获取模块名称,并将其作为 mvn-install 命令的输入mvn install -amd -pl services
例如,下面是已修改文件(输出)的列表 -
services/pom.xml
services/ReadMe.txt
web/src/java/com/some/Name.java
然后是需要构建/编译/安装的模块名称git status
services
web