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

Scala 2.12.10中继承App的Main类main方法无输出求助

Scala 2.12.10中extends App无输出问题的解决办法

你的问题根源在于**extends App的机制和自定义main方法的冲突**:

当Scala对象继承App特质时,Scala会自动生成符合JVM标准的main(args: Array[String])方法,用来执行对象体内的初始化代码。但你自己定义的def main(): Unit方法签名不符合规范,而且App特质的逻辑不会调用这个自定义方法,导致里面的println代码根本没机会执行,自然看不到输出。

两种解决办法:

方法一:保留extends App,移除自定义main方法

直接把代码写在对象体内,App特质会自动执行这些初始化代码:

package example

object Main extends App {
  println("here")
  val ages: Seq[Int] = Seq(42, 61, 29, 64)
  println("here ")
  println(s"The oldest person is ${ages.max}")
}

方法二:不使用App特质,定义标准main方法

去掉extends App,自己实现符合JVM规范的main方法(必须带args: Array[String]参数):

package example

object Main {
  def main(args: Array[String]): Unit = {
    println("here")
    val ages: Seq[Int] = Seq(42, 61, 29, 64)
    println("here ")
    println(s"The oldest person is ${ages.max}")
  }
}

你之前尝试的Console.out.flush没用,本质是因为代码根本没被执行,所以无论怎么flush都不会有输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 11:22:35