2016-05-23 1 views
3

У меня есть проект Ceylon. Я хотел бы распространить его в убер банку, который включает в себя все зависимости, так что она может быть выполнена с простойКак создать банку uber в Цейлоне

java -jar myproject.jar 

Возможно ли это на Цейлоне?

ответ

2

Предстоящий Цейлон 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 Мбайт.

0

Ceylon Gradle Plugin может сделать это за вас, просто использовать createJavaRuntime задачу:

gradle createJava 

запустить приложение:

bash build/java-runtime/run.sh 

или эквивалент в вашей ОС.

Если вы скопируете каталог java-runtime на машину, на которой не установлен Ceylon, только JVM, она будет работать.

Это не жирная банка, но вы можете распространять это как почтовый индекс и получать большинство из тех же преимуществ.