使用:mvn compile exec:java -Dexec.mainClass=${main},报错解决:Unknown lifecycle phase

一、Maven 报错在这里插入图片描述二、命令

mvn compile exec:java -Dexec.mainClass=${main}

在这里插入图片描述我的工程目录文件是这样的,所以,我写的命令是

mvn compile exec:java -Dexec.mainClass=http.hhd.Hello

再来看一下报错信息在这里插入图片描述
相当于识别到的生命周期阶段是 compile 和 exec:java, 而-Dexec.mainClass=http.hhd.Hello未识别到。

三、解决方案

加引号,让系统能正确识别到命令里的生命周期和配置参数

mvn compile exec:java -D"exec.mainClass"="http.hhd.Hello"

这个命令执行的含义是使用 Maven 的 compile 阶段编译项目,然后使用 exec.java 执行指定的 ${main} 主类

四、补充知识点

  1. -D 是一个指定系统属性的标志。-D+属性名+等号+对应的值,相当于定义了一个系统属性, Maven 或 Maven 插件可以在构建过程中使用这个属性。例如:我的命令中定义的,指定了exec.mainClass 属性的值为 http.hhd.Hello。
-Dexec.mainClass=http.hhd.Hello
  1. 但是有时候,由于命令行中可能因为操作系统解析的差异或其他原因导致命令行没有被正确解析,需要用 “” 将属性名和属性值包起来,确保能被正确识别。

五、提示

这段命令,没有被正确运行的原因,还可能是因为空格多打或少打了。

  • 9
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kcuwu.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值