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

Scala Jar包运行提示主方法非静态,IntelliJ可正常运行求解决

问题分析与解决方案

报错本质

Scala里定义的object会被编译生成两个字节码文件:

  • oracle.Execution.class:包含JVM可识别的静态main方法,是合法的程序入口类
  • oracle.Execution$.class:单例对象的实际运行类,不存在静态main方法

你遇到的报错是因为JVM错误加载了oracle.Execution$而非正确的入口类oracle.Execution,问题出在运行命令或jar包的配置上。

解决办法

方法1:改用类路径参数运行

放弃-jar参数,用-cp指定jar包路径,直接运行正确的入口类:

java -cp MyProgram.jar oracle.Execution

方法2:配置jar包清单后直接运行

确保jar包内META-INF/MANIFEST.MF文件正确指定主类:

Main-Class: oracle.Execution

之后无需额外指定类名,直接运行jar包即可:

java -jar MyProgram.jar

验证打包正确性

可以用以下命令查看jar包内容,确认oracle/Execution.class存在且清单配置无误:

jar tf MyProgram.jar

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 11:43:20