title: 'setter for mainClassName: String' is deprecated. Deprecated in Java
body: <p>I have a vert.x web app written in Kotlin and Gradle as the build tool. The web app has been generated with <a href="https://start.vertx.io/" rel="noreferrer">https://start.vertx.io/</a>.</p>
  <p>In the <code>build.gradle.kts</code> it shows:</p>
  <p><a href="https://i.stack.imgur.com/oEoEs.png" rel="noreferrer"><img src="https://i.stack.imgur.com/oEoEs.png" alt="enter image description here" /></a></p>
  <p>that <code>mainClassName</code> has been deprecated.</p>
  <p>the content of the <code>build.gradle.kts</code> file:</p>
  <pre><code>import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
  import org.gradle.api.tasks.testing.logging.TestLogEvent.*
  import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
  
  plugins {
    kotlin (&quot;jvm&quot;) version &quot;1.4.10&quot;
    application
    id(&quot;com.github.johnrengelman.shadow&quot;) version &quot;5.2.0&quot;
    id(&quot;org.flywaydb.flyway&quot;) version &quot;7.1.1&quot;
  }
  
  group = &quot;io.databaker&quot;
  version = &quot;1.0.0-SNAPSHOT&quot;
  
  repositories {
    mavenCentral()
    jcenter()
  }
  
  val kotlinVersion = &quot;1.4.10&quot;
  val vertxVersion = &quot;4.0.0.CR1&quot;
  val junitJupiterVersion = &quot;5.6.0&quot;
  
  val mainVerticleName = &quot;io.databaker.MainVerticle&quot;
  val watchForChange = &quot;src/**/*&quot;
  val doOnChange = &quot;./gradlew classes&quot;
  val launcherClassName = &quot;io.vertx.core.Launcher&quot;
  
  application {
    mainClassName = launcherClassName
  }
  
  dependencies {
    implementation(&quot;io.vertx:vertx-auth-jwt:$vertxVersion&quot;)
    implementation(&quot;io.vertx:vertx-web:$vertxVersion&quot;)
    implementation(&quot;io.vertx:vertx-pg-client:$vertxVersion&quot;)
    implementation(&quot;io.vertx:vertx-lang-kotlin-coroutines:$vertxVersion&quot;)
    implementation(&quot;io.vertx:vertx-json-schema:$vertxVersion&quot;)
    implementation(&quot;io.vertx:vertx-lang-kotlin:$vertxVersion&quot;)
    implementation(kotlin(&quot;stdlib-jdk8&quot;))
    testImplementation(&quot;io.vertx:vertx-junit5:$vertxVersion&quot;)
    testImplementation(&quot;org.junit.jupiter:junit-jupiter:$junitJupiterVersion&quot;)
  }
  
    val compileKotlin: KotlinCompile by tasks
    compileKotlin.kotlinOptions.jvmTarget = &quot;11&quot;
  
  tasks.withType&lt;ShadowJar&gt; {
    archiveClassifier.set(&quot;fat&quot;)
    manifest {
      attributes(mapOf(&quot;Main-Verticle&quot; to mainVerticleName))
    }
    mergeServiceFiles {
      include(&quot;META-INF/services/io.vertx.core.spi.VerticleFactory&quot;)
    }
  }
  
  tasks.withType&lt;Test&gt; {
    useJUnitPlatform()
    testLogging {
      events = setOf(PASSED, SKIPPED, FAILED)
    }
  }
  
  tasks.withType&lt;JavaExec&gt; {
    args = listOf(&quot;run&quot;, mainVerticleName, &quot;--redeploy=$watchForChange&quot;, &quot;--launcher-class=$launcherClassName&quot;, &quot;--on-redeploy=$doOnChange&quot;)
  }
  </code></pre>
  <p>Through what should I replace the <code>mainClassName</code>?</p>