Ответ: Создание автономного jar-файла с помощью Simple Build Tool кажется мне тем, что мне нужно, но в нем не было достаточно информации для меня, так что это продолжение.
(1) Как адаптировать ответ к моей потребности? Я не понимаю, что нужно изменить.
(2) Какую команду нужно запустить, чтобы создать автономную банку?
(3) Где я могу найти банку после ее создания?
Что я пробовал:
Вставка кода в связанном ответе дословно в файл my: project / build / dsg.scala
. Теперь файл имеет
класс ForkRun (информация: ProjectInfo), расширяет DefaultProject (информация)
(ранее использовался для запуска проектов на отдельной виртуальной машине от SBT) и новый трейт:
AssemblyProject расширяет 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
Может ли это быть вызвано наличием нескольких точек входа в мой проект? Я выбираю из списка, когда выполняю запуск
из приглашения SBT. Возможно, мне нужно указать значение по умолчанию при создании пакета?