从bash顺序执行maven编译命令

时间:2014-03-18 16:22:39

标签: bash maven

我正在尝试按顺序使用Maven构建一个项目,但没有成功。

我尝试将以下行放在脚本文件中,然后从bash调用它。

mvn -f ./cmroad-api/pom.xml clean install corona:package -Ddebug=false mvn -f ./cmroad-impl/pom.xml clean install corona:package -Ddebug=false

第一个命令运行,但构建不会调用第二个命令。我尝试将;添加为:

mvn -f ./cmroad-api/pom.xml clean install corona:package -Ddebug=false; mvn -f ./cmroad-impl/pom.xml clean install corona:package -Ddebug=false

输出结果为:

[ERROR] Unknown lifecycle phase "mvn". You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>.

我会非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

[ERROR] Unknown lifecycle phase "mvn".

这是您输入mvn mvn时会出现的错误;你的脚本在同一行有两个mvn,大概是因为你的行结尾出了问题。

从一个简单的脚本开始:

#!/bin/sh

echo A
echo B

在继续使用Maven之前完成工作。您指定的命令在放置在正确准备的脚本中时应该有效。 (虽然正如khmarbaise所说,如果你需要建立这个顺序,你的项目是错误的。)