I have a build.sbt file that includes the assembly plugin. Up until the most recent build, the Main-Class attribute was being included in the assembled far jar, but all of a sudden, this is no longer the case.
When I attempt to run the jar, I get the inimitable:
no main manifest attribute, in ./target/scala-2.10/foo-0.3.0-SNAPSHOT.jar
but using run from the sbt console, works fine.
My build.sbt currently looks like this (the mainClass in assembly added in an attempt to force indicate to the assembly plugin that it really should include, though I noticed in the plugin source code, it looks like it's checking the one specified for run anyway).
import AssemblyKeys._
name := "foo"
version := "0.3.0-SNAPSHOT"
organization := "com.mycompany.myproduct"
scalaVersion := "2.10.4"
mainClass in (Compile, run) := Some("ProcessRelogger")
mainClass in assembly := Some("ProcessRelogger")
assemblySettings
libraryDependencies ++= Seq(
"org.scalatest" % "scalatest_2.10" % "1.9.2" % "test",
"ch.qos.logback" % "logback-classic" % "1.0.9",
"com.typesafe.akka" %% "akka-actor" % "2.2.4",
"joda-time" % "joda-time" % "2.3",
"com.rabbitmq" % "amqp-client" % "3.3.4",
"org.scalaz" % "scalaz-core_2.10" % "7.0.6",
"com.typesafe.slick" %% "slick" % "2.0.2",
"postgresql" % "postgresql" % "9.1-901.jdbc4",
"com.escalatesoft.subcut" %% "subcut" % "2.0"
)
and when I unzip the jar file, and check META-INF/MANIFEST.MF, there's no Main-Class: attribute included.