У меня есть проект Ceylon. Я хотел бы распространить его в убер банку, который включает в себя все зависимости, так что она может быть выполнена с простойКак создать банку uber в Цейлоне
java -jar myproject.jar
Возможно ли это на Цейлоне?
У меня есть проект Ceylon. Я хотел бы распространить его в убер банку, который включает в себя все зависимости, так что она может быть выполнена с простойКак создать банку uber в Цейлоне
java -jar myproject.jar
Возможно ли это на Цейлоне?
Предстоящий Цейлон 1.2.3 имеет подкоманду fat-jar
. См. https://github.com/ceylon/ceylon/issues/5932, который отслеживает эту функцию. Чтобы использовать его сейчас, вам нужно загрузить ночную сборку с http://ceylon-lang.org/download/ или построить Цейлон самостоятельно.
С Цейлон 1.2.3 предполагается, что ваш модуль называется myproject
, вы можете сделать
ceylon-1.2.3/bin/ceylon fat-jar myproject
java -jar myproject-1.0.0.jar
Это выполняет код в функции run()
в файле source/myproject/run.ceylon
.
Убержар для простой мировой программы привет, в настоящее время 2,4 Мбайт.
Ceylon Gradle Plugin может сделать это за вас, просто использовать createJavaRuntime
задачу:
gradle createJava
запустить приложение:
bash build/java-runtime/run.sh
или эквивалент в вашей ОС.
Если вы скопируете каталог java-runtime
на машину, на которой не установлен Ceylon, только JVM, она будет работать.
Это не жирная банка, но вы можете распространять это как почтовый индекс и получать большинство из тех же преимуществ.