Gradle中mainClassName已废弃,Vert.x Kotlin项目应替换为哪个配置?
替代Gradle Kotlin DSL中废弃的
mainClassName配置 在Gradle的Application插件里,mainClassName属性确实已经被废弃了——从Gradle 7.x版本开始,官方就推荐使用类型安全的mainClass属性来替代它。
针对你的Vert.x应用的build.gradle.kts,只需要把原来的application块修改成下面这样:
application { mainClass.set(launcherClassName) }
为什么要这么改?
mainClassName是旧的字符串属性,而mainClass是Property<String>类型的属性,更贴合Gradle现在的类型安全配置规范。- 这个变更完全不会影响你现有ShadowJar打包、热部署的逻辑:你依然用
launcherClassName指向io.vertx.core.Launcher,和之前的启动流程完全一致。
修改后,原有的ShadowJar任务里的Main-Verticle配置、JavaExec的热部署参数都不需要额外调整,直接就能正常工作。
内容的提问来源于stack exchange,提问作者softshipper
相关产品推荐
相关产品推荐

