ただリンクを紹介しただけだったので、死にたくなった。
project/assembly.sbt に以下のように書く。
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.0")
build.sbtには以下のように書く。なお、sbt assemblyって普通に実行すると、全部盛りでテストまで実行されるので、test in assemblyの中は空にしておく。
// assembly // テストのスキップ test in assembly := {} // メインクラスの明示 mainClass in assembly := Some("com.example.Boot") // どんなjarを作るか assemblyJarName in assembly := "my-spray-sample.jar" // 競合しているものの解消 packageOptions in assembly ~= { pos => pos.filterNot { po => po.isInstanceOf[Package.MainClass] } }
で、以下を実行。sbt runなどより普通に実行が早い。
$ java -jar target/scala-2.11/my-spray-sample.jar