Scala SBT: автономный jar

Ответ: Создание автономного 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. Возможно, мне нужно указать значение по умолчанию при создании пакета?

18
задан Community 23 May 2017 в 12:31
поделиться