如何正确运行akka-sample-distributed-data-scala示例?
解决Akka分布式数据Scala示例运行时的"No main class detected"错误
你遇到的问题是因为这个示例项目包含多个可运行主类,sbt无法自动识别默认启动项,所以直接执行sbt run会报错。下面是两种正确的运行方式:
方式一:直接指定主类启动
这个示例里有两个核心演示类,你可以通过sbt runMain命令明确指定要启动的类:
- 启动监听复制器状态的
ReplicatorListener:sbt "runMain sample.distributeddata.ReplicatorListener" - 启动演示计数器功能的
Counter:sbt "runMain sample.distributeddata.Counter"
方式二:配置默认主类(一劳永逸)
如果你不想每次都手动指定主类,可以修改项目根目录下的build.sbt文件,添加默认主类配置。比如把Counter设为默认启动类:
mainClass in (Compile, run) := Some("sample.distributeddata.Counter")
保存修改后,再执行sbt run就会自动启动你配置的主类了。
小提示
这个Akka示例项目设计了多个独立的演示类,分别展示分布式数据的不同特性,所以没有预设默认主类,需要我们明确指定或者手动配置。
内容的提问来源于stack exchange,提问作者Derek
相关产品推荐
相关产品推荐

