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

使用exec-maven-plugin运行Jar文件时遇mainClass参数错误

解决exec-maven-plugin的"Parameters for mainClass are missing or invalid"错误

别着急,我来帮你排查下这个常见问题,大概率是配置细节没处理到位,咱们一步步来:

最常见的原因:mainClass配置不完整或有误

这个错误最常出现的情况就是你没写全主类的完整包名+类名。比如你只写了DataDictionaryChecker,但正确的应该是com.yourteam.tools.DataDictionaryChecker——必须是类的全限定名称,不能省略包路径。

检查插件配置的细节

你可以参考下面的正确配置模板调整你的代码,重点关注这些点:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <version>3.1.0</version> <!-- 建议把旧版本1.3.2升级到稳定新版本,避免兼容性问题 -->
    <executions>
        <execution>
            <id>DataDictinary-Check</id>
            <phase>verify</phase>
            <goals>
                <goal>java</goal>
            </goals>
            <configuration>
                <!-- 替换成你自己的全限定主类名 -->
                <mainClass>com.yourpackage.DataDictionaryChecker</mainClass>
                <!-- 如果主类需要接收参数,按需添加 -->
                <!-- <arguments>
                    <argument>--config=./config.yml</argument>
                </arguments> -->
                <!-- 如果主类不在当前项目,而是来自依赖的Jar,加上这个配置 -->
                <!-- <classpathScope>runtime</classpathScope> -->
            </configuration>
        </execution>
    </executions>
</plugin>

快速调试的小技巧

如果还是不确定问题在哪,可以先跳过插件配置,直接用命令行测试:

mvn exec:java -Dexec.mainClass=com.yourpackage.DataDictionaryChecker

如果这个命令能正常执行,说明你插件配置里的mainClass肯定有拼写错误或者包名漏写了;如果命令也报错,那就要检查:

  • 主类是否真的存在(看target/classes里有没有对应的.class文件)
  • 主类有没有正确的public static void main(String[] args)方法
  • 依赖的Jar是否已经正确引入到项目中

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:38:12