プロジェクトの保守と構築に SBT を使用している場合は、pedrofurla提案されているようにsbt-assemblyプラグインを試してください。最も単純なケースでは、プロジェクトのビルドに以下を追加するだけです (私は を好みますBuild.scalaが、*.sbt見た目は同じです):
1) インポート:
import sbtassembly.Plugin._
import AssemblyKeys._
2) 設定:
mainClass in assembly := Some("path.to.MainClass")
jarName   in assembly := "jar-name.jar"
3) 成果物を公開する場合:
artifact in (Compile, assembly) ~= { art =>
  art.copy(`classifier` = Some("assembly"))
} // add classifier
そして、公開タスク:
lazy val publishingSettings = addArtifact(artifact in (Compile, assembly), assembly) ++ Seq(
    publishTo := /* your repository settings */
  )
assemblyオールインワンの jar ファイルを取得するか、publish を呼び出してリポジトリに公開します。それはうまくいくはずです