我想知道是否有一种方法可以在Shell脚本(用于构建过程)中“查询”Maven执行的状态。
关键是,我希望在其中一个Shell脚本Maven执行中出现一个错误时,整个构建脚本就会失败。
例如:
(0) mvn -f .../someDir clean
(1) mvn -f .../1/pom.xml install
(2) mvn -f .../2/pom.xml -PgenerateWadl因此,如果(0)中出现错误,则不能再执行(1)和(2),而是构建脚本应该在(0)之后立即退出并返回错误消息。
我对Shell脚本不是很感兴趣,但我知道$?变量获取上一次执行的返回值。但是,由于Maven似乎只是将错误写出到控制台,这可能不起作用,不是吗?
我本想研究更多关于"$?“的信息,但很难在谷歌上搜索到。
发布于 2010-12-07 01:01:11
一种简单的方法是使用-e选项。
set -e
mvn -f .../somedir clean
mvn -f .../otherdir install
mvn -f .../thirddir -PgenerateWadl package如果顺序中的任何命令以非零状态退出(除非它是if或while等显式测试的一部分,或者是a || b等链的一部分),这将自动使shell退出并返回错误。
您可以通过在任何Maven调用之间插入对false的调用来观察这种情况的发生。
有关set -e的详细信息,请参阅set POSIX spec。
https://stackoverflow.com/questions/4365418
复制相似问题