加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

在Shell脚本中获取Maven执行状态

发布时间:2020-12-16 01:45:36 所属栏目:安全 来源:网络整理
导读:我想知道是否有一种方法可以从 Shell脚本(用于构建过程)中“查询”Maven执行的状态. 关键是我希望在一个Shell脚本Maven执行中出现单个错误后,整个构建脚本就会失败. 例如 (0) mvn -f .../someDir clean(1) mvn -f .../1/pom.xml install(2) mvn -f .../2/pom
我想知道是否有一种方法可以从 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似乎只是将错误写入控制台,这可能不起作用,是吗?

我本来希望研究有关“$?”的更多信息,但谷歌很难获得它.

解决方法

一种简单的方法是使用-e选项.

set -e
mvn -f .../somedir clean
mvn -f .../otherdir install
mvn -f .../thirddir -PgenerateWadl package

如果顺序中的任何命令以非零状态退出(除非它是显式测试的一部分,例如if或while或像|| b之类的链),这将自动使shell退出并出错.

您可以通过在任何Maven调用之间插入false调用来观察这种情况.

有关set -e的详细信息,请参阅set POSIX spec.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读