У меня есть файл build.sbt, который включает плагин сборки. Вплоть до самой последней сборки атрибут Main-Class включался в собранную дальнюю банку, но внезапно это уже не так.
Когда я пытаюсь запустить банку, получаю неподражаемое:
no main manifest attribute, in ./target/scala-2.10/foo-0.3.0-SNAPSHOT.jar
но используя запуск из консоли sbt, работает нормально.
Мой build.sbt в настоящее время выглядит так (mainClass в сборке добавлен в попытке принудительно указать плагину сборки, что он действительно должен включать, хотя я заметил в исходном коде плагина, похоже, что он все равно проверяет тот, который указан для запуска ).
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"
)
и когда я распаковываю файл jar и проверяю META-INF / MANIFEST.MF, атрибут Main-Class: не включен.
mainClass
строки и начать заново? Можете ли вы сделатьshow compile:run::mainClass
после этого и включить это в вопрос? Можете ли вы также выполнитьassembly
, а затемlast-grep
с именем основного класса? Добавьте результаты к вопросу. - person Jacek Laskowski   schedule 08.10.2014