Ответ: Создание автономной банки с помощью Simple Build Tool выглядит как то, что мне нужно, но у меня не было достаточно информации, поэтому это продолжение.
(1) Как мне адаптировать ответ к моим потребностям?Я не понимаю, что нужно изменить.
(2) Какую команду запустить для создания автономной банки?
(3) Где я могу найти банку после того, как онабыл создан?
Что я пробовал:
Вставка кода в связанном ответе дословно в мой файл: project/build/dsg.scala
.Теперь файл имеет
class ForkRun(info: ProjectInfo) extends DefaultProject(info)
(ранее использовался для запуска проектов на отдельной виртуальной машине из SBT) и новый:
trait AssemblyProject extends BasicScalaProject
из связанного ответа.
Я также пытался вставить тело (все defs
и lazy val
AssemblyProject
в тело ForkRun
.
Чтобы создать jar
, я запустил package
в приглашении SBT и получил:
[info] Packaging ./target/scala_2.8.1/dsg_2.8.1-1.0.jar ...
[info] Packaging complete.
Поэтому я попытался запустить dsg_2.8.1-1.0.jar
из оболочкичерез:
java -jar dsg_2.8.1-1.0.jar
Но я получаю:
Failed to load Main-Class manifest attribute from
dsg_2.8.1-1.0.jar
Может ли это быть вызвано наличием нескольких точек входа в мой проект? Я выбираю из списка при выполнении run
изSBT подскажите. Возможно, мне нужно указать значение по умолчанию при создании пакета?