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

IntelliJ Scala插件中Scala 3项目Main.main启动报错:找不到主类

Scala 3 + IntelliJ: 解决"Could not find or load main class" 启动异常

问题现象

在IntelliJ 2024.1.1(搭配Scala插件2024.1.20)环境下创建Scala 3.3.3项目,使用无大括号语法编写以下代码时,启动会报错Could not find or load main class org.public_domain.main:

package org.public_domain

object Main:
  @main def main(): Unit =
    println("Hello World!")

点击main方法左侧的绿色运行箭头选择"Run org.public_domain.main",执行直接失败;但注释掉object Main:后,以下代码可正常运行:

package org.public_domain

@main def main(): Unit =
  println("Hello World!")

问题原因

  • 该代码在Scastie中可正常执行,说明问题出自IntelliJ Scala插件的兼容性问题
  • 核心诱因是Windows/macOS系统的大小写不敏感文件系统:当object的名称(Main)与标记@main的方法名(main)在大小写不敏感规则下名称重合时,会触发类加载冲突,导致找不到主类的异常

解决方案

只需修改以下任一内容即可解决问题:

  • 将@main标注的方法重命名为其他名称,例如:
    package org.public_domain
    
    object Main:
      @main def run(): Unit =
        println("Hello World!")
    
  • 或者将外层object的名称重命名为其他名称,例如:
    package org.public_domain
    
    object AppMain:
      @main def main(): Unit =
        println("Hello World!")
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 17:16:07