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

Scala提取器编译报错:为何无法识别ExtractDemo?

问题原因及解决办法

你的代码编译报错的核心原因是Scala单文件直接运行时,要求主对象(object)的名称必须和文件名完全一致,同时你执行命令时的文件名和代码中的对象名不匹配:

  • 代码中定义的主对象是ExtractDemo,但你的文件名是ExtractorDemo.scala(多了一个字母o),执行命令时用的也是ExtractorDemo.scala,Scala会尝试在该文件中寻找名为ExtractorDemo的主对象,自然找不到你定义的ExtractDemo。
  • 另外,使用scala命令直接运行.scala文件时,文件中必须存在与文件名同名的、包含main方法的对象,或者继承自App特质的对象。

解决步骤

方法一:修改文件名匹配对象名

将文件名从ExtractorDemo.scala改为ExtractDemo.scala,然后执行命令:

scala ExtractDemo.scala

方法二:修改对象名匹配文件名

将代码中的object ExtractDemo改为object ExtractorDemo,保持和文件名一致,然后执行原命令:

scala ExtractorDemo.scala

方法三:先编译再运行

如果不想修改文件名或对象名,可以先编译代码:

scalac ExtractorDemo.scala

编译后会生成ExtractDemo.class等文件,再运行主对象:

scala ExtractDemo

验证结果

修改完成后运行,会输出:

10
10 is bigger two times than 5

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 15:06:11