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