【问题标题】:Network calls not working in EXE distribution build of Compose for Desktop Application网络调用在 Compose for Desktop Application 的 EXE 分发版本中不起作用
【发布时间】:2021-06-06 17:57:47
【问题描述】:

我使用 Ktor JVM ClientCompose for Desktop 应用程序中进行网络调用。

网络调用在Debug构建中运行良好意味着当我运行应用程序时它运行良好。

但是当我创建 EXE 分发文件时,通过在 Gradle 中执行 packageExe 任务,它正在创建一个 EXE 文件。我已经在我的机器上安装了它。然后我正在运行应用程序,我看到网络调用不起作用。我已检查互联网是否正常工作。

请提供解决此问题的解决方案。提前致谢。

【问题讨论】:

  • 您能否更准确地描述问题所在?这么少的东西很难帮上忙。
  • 显示一些代码,可能是人为添加的。两次运行之间的差异可能很大。打包为 exe/jar 文件资源名称区分大小写 - 所以如果你从资源中复制......等等。
  • 网络通话不工作 - 但症状是什么?运行时错误?什么都没发生?

标签: kotlin jetbrains-compose compose-desktop


【解决方案1】:

您的问题没有留下有关失败类型的任何详细信息(编译错误?运行时异常?空数据?等等)。

但如果我必须根据如此有限的信息进行推测,我猜可能是这样的:https://github.com/JetBrains/compose-jb/issues/429

具体来说,在打包时,您需要指定要将哪些 JVM 模块打包到您的可分发应用程序中,并且您可能缺少加密模块。试试这样的:

compose.desktop {
    application {
        mainClass = "MainKt"
        nativeDistributions {
            modules("jdk.crypto.ec")

            targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb)
            packageName = "untitled"
        }
    }
}

【讨论】:

    猜你喜欢
    • 2014-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-29
    相关资源
    最近更新 更多