Scala: Создание небольшого исполняемого файла Jar на основе внешних библиотек Scala

Я пытаюсь упаковать небольшое приложение (все еще изучающее Scala!) "Чистым способом" . Цель состоит в том, чтобы иметь исполняемый файл JAR. Я сделал следующее:

  • упаковал JAR с помощью sbt -> будет работать с
 scala -cp myjarfile.jar MyClass

или

 java -classpath путь \ к \ scala-library.jar; myjarfile.jar MyClass

, но не будет работать с

 java -jar myjarfile.jar

, потому что тогда scala / ScalaObject не может быть найден. И бесполезно добавлять путь к классам на этом последнем, поскольку параметр -jar игнорирует параметр -classpath. Обратите внимание, что я добавил библиотеки scala в свою системную переменную CLASSPATH, но при использовании -jar они, похоже, тоже игнорируются.

  • добавил содержимое библиотеки scala (сначала распаковав их) в jar, созданный sbt. Затем это сработает (банку можно дважды щелкнуть и запустить), но манипуляции с ней довольно продолжительны, и полученный файл имеет размер в несколько мегабайт. Не идеально.

После нескольких часов поиска в Google я не вижу способа создать небольшой файл jar, который запускался бы при двойном щелчке и не требовал болезненных манипуляций. Что мне не хватает? Я предполагаю, что должен быть способ определить, где библиотеки Scala находятся на системном уровне. Пьеррик.

8
задан Pierric 18 April 2011 в 16:44
поделиться