Я пытаюсь упаковать маленькое приложение (все еще учу Scala!) «Чистым способом».Цель состоит в том, чтобы иметь исполняемый файл JAR.Я сделал следующее:
- упаковал JAR с помощью sbt -> будет работать с
scala -cp myjarfile.jar MyClass
или
java -classpath path\to\scala-library.jar;myjarfile.jar MyClass
, но не будет работать с
java -jar myjarfile.jar
, поскольку тогда scala / ScalaObject не может быть найден.И нет смысла добавлять classpath к этому последнему, так как опция -jar будет игнорировать опцию -classpath.Обратите внимание, что я добавил библиотеку scala в системную переменную CLASSPATH, но, похоже, она также игнорируется при использовании -jar.
- добавила содержимое библиотеки scala (сначала распаковав их) в jarсозданный sbt.Затем это работает (банку можно дважды щелкнуть и запустить), но манипуляция несколько длинная, а размер получаемого файла составляет несколько мегабайт.Не идеально.
После нескольких часов поиска в Google, я не вижу способа создать небольшой файл JAR, который будет запускаться при двойном щелчке и не требует болезненных манипуляций.Что мне не хватает?Я предполагаю, что должен быть какой-то способ определить, где находятся библиотеки scala на системном уровне.Как вы справляетесь с небольшими приложениями, которые вы хотите скомпилировать и готовыми к запуску для эффективности?
Обратите внимание, что, хотя я использую sbt, у меня нет под рукой инструмента jar (яЯ полагаюсь на JRE, а не JDK).
Спасибо!Pierric.