[JAVA] Pot Gradle + Kotlin-Generate avec DSL

J'utilise Gradle avec Kotlin-DSL, mais je n'ai pas trouvé de moyen de générer un fichier exécutable, donc je l'écrirai comme rappel.

build.gradle.kts


plugins {
    application
}

dependencies {
    //Pour emballer les bibliothèques dépendantes dans un pot'compile'Doit être décrit dans

    // Use the Kotlin JDK 8 standard library.
    compile("org.jetbrains.kotlin:kotlin-stdlib-jdk8")

    // Use the Kotlin test library.
    testCompile("org.jetbrains.kotlin:kotlin-test")

    // Use the Kotlin JUnit integration.
    testCompile("org.jetbrains.kotlin:kotlin-test-junit")
}

application {
    // Define the main class for the application
    mainClassName = "com.example.MainKt"
}

// 'gradle jar'Définissez une tâche pour pouvoir utiliser
val jar by tasks.getting(Jar::class) {
    manifest {
        attributes["Main-Class"] = "com.example.MainKt"
    }

    from(
            configurations.compile.get().map {
                if (it.isDirectory) it else zipTree(it)
            }
    )
    exclude("META-INF/*.RSA", "META-INF/*.SF", "META-INF/*.DSA")
}

Je peux trouver beaucoup d'articles groovy ...

[Post-scriptum 11/4] Bien que cela diffère de l'objectif de cet article, j'écrirai également une méthode pour donner un argument d'exécution au moment de ./gradlew run.

build.gradle.kts


import kotlin.text.Regex

val run by tasks.getting(JavaExec::class) {
    if (project.hasProperty("args")) {
        args = (project.property("args") as String).split(Regex("\\s+))
    }
}

À l'exécution

./gradlew run -Pargs="hoge fuga piyo ..."

Notez que la complétion ne fonctionne pas pour les arguments

Recommended Posts

Pot Gradle + Kotlin-Generate avec DSL
Utiliser ProGuard avec Gradle
Test d'intégration avec Gradle
Installez Gradle sur ubuntu16.04
Data Nucleus commençant par Gradle
Utiliser les WebJars avec Gradle
Commencez avec Gradle
Utilisez jlink avec gradle
Créer un multi-projet Java avec Gradle
Lombok ne fonctionne pas avec Gradle5
Générer un seul fichier jar exécutable avec des bibliothèques dépendantes dans Gradle 4.9
Utilisez log4j2 avec YAML + Gradle
Hello World avec SpringBoot / Gradle
Construire un projet Java avec Gradle
J'ai essayé d'utiliser JOOQ avec Gradle
Couverture de test de sortie avec Clover + Gradle
Je ne peux pas installer lombok avec Gradle.
Essayez d'utiliser Redis avec Java (jar)
Créer un JAR exécutable multi-projets avec Gradle
Faire du gros pot avec le modding Minecraft
Développer le traitement avec IntelliJ + Kotlin + Gradle
Exécutable serveur avec Spring gradle Comment créer JAR et WAR