【问题标题】:Is possible to compile kotlin code for run without runtime lib? How?是否可以编译 kotlin 代码以在没有运行时库的情况下运行?如何?
【发布时间】:2017-08-08 02:32:31
【问题描述】:

我的情况不寻常。没有kotlin-runtime有没有机会编译代码?标记 -Xno-param-assertions-Xno-call-assertions 没有多大帮助,我仍然得到:

java.lang.NoClassDefFoundError: Failed resolution of: Lkotlin/jvm/internal/Intrinsics;
   at lt.neworld.yyy.<init>(Unknown Source:2)
   at lt.neworld.yyy.<init>(yyy.kt:13)

【问题讨论】:

    标签: kotlin


    【解决方案1】:

    运行需要 Kotlin 运行时,as explained here - 所以我认为没有理由编译也不需要它。我想没有免费的午餐:-)

    您应该:

    • 在类路径中有 Kotlin 运行时。
    • 运行应用程序时指向运行时位置,as described on this answer
    • 在应用的 .jar 文件中嵌入运行时:

    $ kotlinc <class name> -include-runtime -d <jar name> $ java -jar <jar name>

    【讨论】:

    • 实际上,我并没有用作后端应用程序,也没有额外的 1k 方法。尽管如此,我还是喜欢 kotlin 的语法并且无论如何都想使用它。
    • @neworld - 你能详细说明什么是独特的用例吗?
    • @neworld 你肯定至少需要runtime library,虽然不一定是standard library。 AFAIK 没有办法。或许ProGuard 可以帮助减少集成运行时后的方法数。
    • 我想编写一个非常小的库(最多 30 个方法),经过全面测试并使用我喜爱的语言。 +1000 个方法对于非 kotlin 项目来说是一笔巨大的开销。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-20
    相关资源
    最近更新 更多