Wie führe ich eine Gradle-Aufgabe mit verschiedenen Parametern aus?
Ich möchte eine Aufgabe in Gradle definieren (mit dem Namengen
) das die gradle Aufgabe ausführtjar
aber mit einem festen Wert fürbaseName
. Ich möchte auch die ursprüngliche Aufgabejar
, um danach verfügbar zu sein.
Mein Problem ist, dass ich die Einstellungen für das Manifest nicht übertragen kann.
ch bin müde,
def mainFile = 'com.so.proj.App'
def filename = 'something'
jar {
baseName filename
manifest {
attributes 'Main-Class': mainFile
}
}
task gen (type: Jar) {
description "Generates JAR without version number."
doFirst {
//archiveName = jar.baseName + "." + extension
archiveName = filename + ".jar"
manifest {
attributes 'Main-Class': mainFile
}
}
}
Ich dachte, ich definiere dieJar
Task mit anderen Werten für archiveName und manifest.
Wenn läuft./gradlew jar
Es wird eine ausführbare JAR-Datei generiert.
Wenn läuft./gradlew gen
Eine JAR-Datei wird generiert. Leider beim Versuch, das Programm mit @ auszuführjava -jar build/libs/something.jar
Ich erhalte die Fehlermeldung:
java -jar build / libs / something.jar
Error: Could not find or load main class com.so.proj.App
Was mache ich falsch? Ich möchte einfach die JAR-Task mit anderen Parametern ausführen (ohne die JAR-Task selbst zu konfigurieren, aber mit einem Alias). Und was macht der Code, den ich geschrieben habe? (Beim Ausführen der Aufgabe wird keine Fehlermeldung angezeigt. Aber was macht er?)