2015-11-03 37 views
2

我正在嘗試使用SBT程序集(0.14.0)創建我的Scala項目的一個胖罐子。在子目錄w/SBT程序集中找到主要類的問題

我的項目結構如下:

>top 
     > build.sbt 
     > api 
      > src 
       > main 
        > scala 
          > name 
            > Boot.scala 
     > other directories 

我想設置引導以在罐子上運行的主要方法。

我已經嘗試使用:

baseDirectory in (Compile,run) := file("api") 
scalaSource in run := baseDirectory.value/"api" 
scalaSource in Compile := baseDirectory(_/"api") 
mainClass in assembly := some("name.Boot") 

罐子成功生成,但在運行它時我收到錯誤:

錯誤:無法找到或加載主類name.Boot

回答

0

的你的mainClass的文件路徑是不相關的,只有在Scala/Java中的命名空間。您的主要對象是

package name 

object Boot { 
    def main ... 
} 

+0

是的,這是正確的 – rushimg

1

由您發佈的片斷去,你可以嘗試改變

mainClass in assembly := some("name.Boot") 

mainClass in assembly := Some("name.Boot") 

它不抱怨的原因是小寫somesomething else