2017-09-13 67 views
0

sbt compile给出成功 sbt run给出了上面提到的错误。SBT-java.lang.RuntimeException:没有检测到主类

我的目录结构是从正规SBT结构有一点不同:

Directory structure that I need... Build.sbt inside main project

Build.sbt inside SubProject

MainClass.scala

object MainClass extends App { 
    println("Hello world!") 
} 

注:事情我已经在主项目的Build.sbt中尝试过:

1. scalaSource in (Compile, run) := baseDirectory.value/"App"/"js" 
2. mainClass in (Compile, run) := Some("MainClass") 
3. mainClass in (Compile, run) := Some("App/js/src/main/scala/MainClass") 

我无法弄清楚这个错误吗?

回答

0

无法在位于子目录中的.sbt文件中声明额外的project s。所有项目必须在构建版本的.sbt文件中声明。

这意味着您的AppJsAppJvm永远不会有任何效果,并且这些项目实际上并不存在于您的构建中。

您必须在顶级build.sbt文件中声明AppJs,AppJvm和您需要的其他project