2

Mit regelmäßigen gradle ich wie so eine Hauptklasse konfigurieren würde:Wie feder Boot konfigurieren rekombinieren mit gradle-Skript-Kotlin

bootRepackage { 
    mainClass = 'demo.Application' 
} 

Mit gradle-Skript-Kotlin, das funktioniert nicht.
Ich denke, ich muss irgendwie die Project.configure Inline-Funktion verwenden, aber ich habe ein paar verschiedene Dinge ausprobiert und ich konnte es nicht funktionieren.

+0

Ihre Hauptklasse anzeigen. Möglich Ihre Klasse ist 'ApplicationKt'. – IRus

+0

Ich habe mehrere Hauptklassen, was ein Teil des Grundes ist, warum ich es konfigurieren muss, wenn Sie nur eine Hauptklasse haben, wird es trotzdem entdeckt. Nein das Problem ist nicht der Klassenname, der obige wird gar nicht kompiliert, geschweige denn ausgewertet werden. – Magnus

+0

also welchen fehler bekommst du? – IRus

Antwort

2

Update - 8. September 2017

In neueren Versionen der Kotlin Unterstützung, haben Sie ein paar andere mehr idiomatische Möglichkeiten, dies zu erreichen:

tasks { 
    "bootRepackage"(Repackage::class) { 
    mainClass = "demo.Application" 
    } 
} 

Und auch:

val bootRepackage by tasks.getting(Repackage::class) { 
    mainClass = "demo.Application" 
} 

Ich bin sicher, dass die Aufgabe in einer neuen Version von Sprin geändert wird g Boot.


bootRepackage ist eine Aufgabe des Typs org.springframework.boot.gradle.repackage.RepackageTask. Mit 0.4.1 sind keine Erweiterungsmethoden verfügbar, um diese Konfiguration offensichtlich zu machen. Sie werden so etwas wie die folgenden zu tun haben:

import org.springframework.boot.gradle.repackage.RepackageTask 

(tasks.getByName("bootRepackage") as RepackageTask).apply { 
    mainClass = "demo.Application" 
} 

Relevante offene Fragen für Task Konfiguration:

Verwandte Themen