Ich möchte ein Gradle-Build-Skript implementieren, das einige Java-Klassen kompiliert und in ein Tomcat-Verzeichnis kopiert. Ich möchte Gradle Java Plugin nicht verwenden, da es viele Dinge tut, die nicht relevant sind. Ich möchte meine eigenen kompilieren & Aufgaben zu definieren, die es tut. Ich habe es wie folgt implementiert:Compile-Task wird erfolgreich ausgeführt, generiert aber keine Klassendateien
task compile (type: JavaCompile) {
source = fileTree('$srcdir')
destinationDir = file('$builddir')
classpath = files('lib')
sourceCompatibility = '1.8'
}
task deploy (type: Copy) {
dependsOn compile
from fileTree('build') {
include fileTree('classes')
}
from fileTree('lib') {
include '*'
}
into '${tomcathome}//${projectname}'
}
Ich habe Deploy Task noch nicht berührt. Wenn ich Kompilieraufgaben ausführe, wird es erfolgreich ausgeführt, generiert aber keine Klassendateien. Ich erwarte, dass es im Verzeichnis/build erzeugt wird.
Bitte vorschlagen.
Dank
lesen Wenn Sie GString „“ und seine $ builddir – LazerBanana
Das gleiche Problem zu verwenden, für ' '$ srcdir'' mit Variablen benötigen. Ich weiß nicht, wo Sie 'srcdir' angegeben haben, aber Sie können es nicht mit einem einfachen String (einfache Anführungszeichen) verwenden, weil es auf diese Weise immer als literaler Speicherort interpretiert wird (ein Unterordner namens $ srcdir' in diesem Fall). Sie müssen einen GString (doppelte Anführungszeichen) verwenden, wie bereits von @LazerBanana angegeben. Oder Sie könnten einfach die Variable verwenden, anstatt sie in einen GString einzufügen: 'fileTree (srcdir)' –
Danke für Ihre Eingaben. Dieses String-Literal-Konzept hat mir geholfen, mein Problem anzugehen. Ich habe versucht, diese Parameter - srcdir, builddir und ähnliche andere in gradle.properties zu konfigurieren. Diese Datei befindet sich auf derselben Ebene wie meine build.gradle, aber ich kann die Werte der Parameter nicht abrufen, wenn sie in "gradle.properties" konfiguriert sind. Muss ich etwas anderes tun, damit diese Eigenschaftendatei geladen wird, bevor die Build-Aufgaben gestartet werden? – Techie