Я пишу в Scala и использую SBT с плагином sbt-assembly. В моем проекте много внешних библиотек, поэтому для упаковки файла JAR sbt-сборка занимает много времени. Я хотел бы иметь отдельные файлы JAR для моего кода и для зависимостей. Поэтому я мог просто перекомпилировать и перепаковать только мой код. Как это сделать?
Прогресс на данный момент:
Следующие команды в build.sbt
позволяют sbt-сборке упаковывать библиотеки:
assembleArtifact in packageScala := false
assembleArtifact in packageDependency := false
Затем можно создать отдельные jar файлы, передав следующие команды: assembly
, assembly-package-scala
и assembly-package-dependency
. Они делают три jar файла: один, содержащий мою программу, один с библиотеками scala и один со всеми зависимостями.
Однако файл jar больше не является исполняемым, потому что он не видит зависимости в отдельном файле jar. Я думаю, что мне нужно добавить classpath к Assembly-SBT, но я не уверен, как это сделать.