我正在编写一个bash脚本,它将执行Maven项目的某些部分。该脚本如下所示:
CMD="mvn exec:java -Dexec.mainClass=$MAINCLASS -Dexec.args=\"cfg.txt TRAIN\""
echo "Running $CMD..."
$CMD
但这每次都会失败,并显示以下错误:
[ERROR] Unknown lifecycle phase "TRAIN". You must specify a valid
lifecycle phase...
如果我跳过
CMD=...
分配,而只是直接运行mvn部分,就像这样...mvn exec:java -Dexec.mainClass=$MAINCLASS -Dexec.args="cfg.txt TRAIN"
...效果很好。
如何获取Maven和exec插件以了解在
-Dexec.args
部分中有两个参数? 最佳答案
根据docs exec:java
是否没有exec.args
?它确实具有exec.arguments
并带有一个String[]
,它将转换为:
CMD="mvn exec:java -Dexec.mainClass=$MAINCLASS -Dexec.arguments=\"cfg.txt\",\"TRAIN\""
关于java - 在Bash中使用Maven Exec插件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24067440/