我如何在锡兰创造一个超级罐子

时间:2016-05-23 18:57:07

标签: packaging uberjar ceylon

我有一个锡兰项目。我想将它分发到包含所有依赖项的超级jar中,以便可以使用简单的

执行
java -jar myproject.jar

这可能在锡兰吗?

2 个答案:

答案 0 :(得分:2)

即将推出的Ceylon 1.2.3具有fat-jar子命令。请参阅跟踪此功能的https://github.com/ceylon/ceylon/issues/5932。要立即使用它,您需要从http://ceylon-lang.org/download/下载每晚构建或自己构建Ceylon。

使用Ceylon 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中的代码。

简单的hello world程序的uberjar目前有2.4 MiB。

答案 1 :(得分:0)

Ceylon Gradle Plugin可以为您完成,只需使用createJavaRuntime任务:

gradle createJava

使用以下命令运行应用程序:

bash build/java-runtime/run.sh

或您操作系统中的等效文件。

如果将java-runtime目录复制到没有安装Ceylon的计算机上,只复制JVM,它将起作用。

这不是一个胖罐,但你可以将它作为拉链分发并获得大部分相同的好处。