对于 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 -amd -pl services
中完成一些更改”时的命令因此,首先从更改的文件中获取模块名称并将其作为 mvn-install 命令的输入
例如,下面是修改文件列表(的输出git status
) -
services /pom.xml
services /ReadMe.txt
web /src/java/com/some/Name.java
然后是需要构建的模块services
名称web
/编译/安装