如何使用Kotlin DSL和插件在Gradle中创建胖罐

如何使用Kotlin DSL和插件在Gradle中创建胖罐,gradle,gradle-plugin,gradle-kotlin-dsl,fatjar,Gradle,Gradle Plugin,Gradle Kotlin Dsl,Fatjar,我做了很多关于如何用Gradle制作胖罐子的研究。 然而,我不知道如何使用Kotlin DSL和插件来实现它。 我有以下代码: plugins { application id("org.openjfx.javafxplugin") version "0.0.9" id("com.github.johnrengelman.shadow") version "6.1.0" } reposito

我做了很多关于如何用Gradle制作胖罐子的研究。 然而,我不知道如何使用Kotlin DSL和插件来实现它。 我有以下代码:

plugins {
    application
    id("org.openjfx.javafxplugin") version "0.0.9"
    id("com.github.johnrengelman.shadow") version "6.1.0"
}

repositories {
    mavenCentral()
}

dependencies {
    implementation("javax.vecmath", "vecmath", "1.5.2")
    implementation("org.apache.commons", "commons-csv", "1.8")
}

application {
    mainModule.set("de.weisbrja")
    mainClass.set("de.weisbrja.App")
}

javafx {
    modules("javafx.controls")
}

modularity.disableEffectiveArgumentsAdjustment()
但是我不知道如何为fatjar清单指定主类。 我遵循的教程做到了这一点:

jar {
    manifest {
        attributes "Main-Class": "com.baeldung.fatjar.Application"
    }

    from {
        configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
    }
}
但这是Groovy DSL,而不是Kotlin DSL,我还不太熟悉Kotlin DSL,所以我不知道如何将其转换为Kotlin DSL。
非常感谢您的帮助。

不要试图为JavaFX程序创建胖罐子。由于各种原因,这实际上不起作用。使用像jpackage这样的工具来创建一个真正的安装包。@mipa你能告诉我怎么做吗?@mipa还有,我为什么不创建一个JavaFX程序的胖jar呢?我不知道JavaFX是否可以在胖jar中工作,但是你找到的教程是错误的。相反,您可以使用Gradle用户指南中的示例使其正常工作(确保为代码示例选择Kotlin),并在Kotlin中向清单添加条目,请看。我不知道必须向清单添加什么键和值。你能发个密码吗?