将 Kotlin TornadoFx 构建为 Windows 的 exe

问题描述

我有一个用 Kotlin 编写的应用程序,我使用 TornadoFx 围绕它构建了一个 GUI。正如 TornadoFx 指南中所述,我使用了 OpenJDK11 并将 kotlin.jvmtarget 设置为“11”。这是我的 gradle 版本:

plugins {
    id 'org.jetbrains.kotlin.jvm' version '1.4.30'
    id 'application'
    id 'org.openjfx.javafxplugin' version '0.0.9'
    id 'java'
    id 'edu.sc.seis.launch4j' version '2.4.9'
}

group = 'me.nicola'
version = '1.0-SNAPSHOT'

repositories {
    mavenCentral()
}

application {
    mainClassName = "Engine"
}

javafx {
    version = "11.0.2"
    modules = ['javafx.controls','javafx.graphics']
}

dependencies {
    testImplementation 'org.jetbrains.kotlin:kotlin-test-junit'
    implementation 'no.tornado:tornadofx:1.7.20'
    implementation group: 'org.apache.commons',name: 'commons-email',version: '1.5'
    implementation 'com.github.doyaaaaaken:kotlin-csv-jvm:0.15.0'

}

test {
    useJUnit()
}

jar {
    manifest {
        attributes "Main-Class" : "EngineKt"
    }
}

compileKotlin {
    kotlinoptions.jvmTarget = "11"
}

compileTestKotlin {
    kotlinoptions.jvmTarget = "11"
}

task fatJar(type: Jar) {
    baseName 'PrimaNotaHelper'

    manifest {
        attributes "Main-Class": "EngineKt"
    }

    from {
        configurations.runtimeClasspath.collect {
            it.isDirectory() ? it : zipTree(it)
        }
    }

    with jar
}

launch4j {
    mainClassName = 'EngineKt'
    //icon = "${projectDir}/icons/myApp.ico"
}

我正在尝试使用 launch4j 将我的应用程序捆绑到 Windows (.exe) 的可执行文件中,并且当我启动“launch4j”任务时它会正确编译,构建“lib”文件夹和 exe 文件。但是,一旦我在 Windows 上,可执行文件就不起作用。

我还尝试使用适用于 Windows 的 launch4j GUI 并尝试了一些,但对我没有任何作用:要么在启动前崩溃,要么要求我提供不同版本的 JRE。

有人可以帮我正确设置我的构建吗?

非常感谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)