You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否通过Maven exec:java从命令行运行未在pom.xml配置的Java/Scala主类?

不用在pom.xml指定类,也能运行mvn exec:java!

当然可以不用预先在pom.xml里配置那些带main方法的Java/Scala类!完全可以通过命令行直接指定要运行的类,灵活度拉满,下面给你拆解具体操作:

  • 基础运行命令
    直接在项目根目录执行这条命令,把全限定类名替换成你自己的就行:
    mvn exec:java -Dexec.mainClass="com.example.YourMainClass"
    不管是Java类还是Scala类(只要有main方法或者继承了Scala的App特质),写法都是一样的。

  • 关于你看到的pom配置片段
    你贴的那段配置,是把exec:java绑定到了Maven的某个生命周期阶段(比如默认的compile或者install),这样执行mvn install时会自动跑指定的main方法——但这是固定执行某一个类的场景。如果你的需求是随时切换不同的main类来运行,完全不需要这段executions配置,甚至只要保证项目能正常用Maven构建,连插件的基础声明都可以省(Maven会自动下载需要的插件版本)。

  • 给main方法传参
    如果你的程序需要命令行参数,直接加-Dexec.args就行:
    mvn exec:java -Dexec.mainClass="com.example.YourMainClass" -Dexec.args="参数1 参数2"

  • 无pom插件声明时的调用
    要是你的pom里完全没配置exec-maven-plugin,也可以直接用完整插件坐标调用(指定最新稳定版本就行):
    mvn org.codehaus.mojo:exec-maven-plugin:3.1.0:java -Dexec.mainClass="com.example.YourMainClass"

内容的提问来源于stack exchange,提问作者WestCoastProjects

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 04:21:31