我如何在锡兰创建一个超级罐子
How do I create an uber jar in Ceylon
我有一个锡兰项目。我想将它分发到一个包含所有依赖项的 uber jar 中,以便它可以使用简单
执行
java -jar myproject.jar
这在锡兰可以吗?
即将推出的 Ceylon 1.2.3 具有 fat-jar
子命令。请参阅 https://github.com/ceylon/ceylon/issues/5932 which tracks this feature. To use it now, you need to download a nightly build from 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
这将执行文件 source/myproject/run.ceylon
中函数 run()
中的代码。
一个简单的 hello world 程序的 uberjar 目前有 2.4 MiB。
Ceylon Gradle Plugin可以帮你完成,只需使用createJavaRuntime
任务:
gradle createJava
运行 应用程序:
bash build/java-runtime/run.sh
或 OS.
中的等效值
如果您将 java-runtime
目录复制到一台没有安装 Ceylon 的机器上,只有 JVM,它会起作用。
它不是一个大罐子,但您可以将其作为 zip 文件分发并获得大部分相同的好处。
我有一个锡兰项目。我想将它分发到一个包含所有依赖项的 uber jar 中,以便它可以使用简单
执行java -jar myproject.jar
这在锡兰可以吗?
即将推出的 Ceylon 1.2.3 具有 fat-jar
子命令。请参阅 https://github.com/ceylon/ceylon/issues/5932 which tracks this feature. To use it now, you need to download a nightly build from 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
这将执行文件 source/myproject/run.ceylon
中函数 run()
中的代码。
一个简单的 hello world 程序的 uberjar 目前有 2.4 MiB。
Ceylon Gradle Plugin可以帮你完成,只需使用createJavaRuntime
任务:
gradle createJava
运行 应用程序:
bash build/java-runtime/run.sh
或 OS.
中的等效值如果您将 java-runtime
目录复制到一台没有安装 Ceylon 的机器上,只有 JVM,它会起作用。
它不是一个大罐子,但您可以将其作为 zip 文件分发并获得大部分相同的好处。