Ich versuche ein einfaches Groovy-Projekt zu erstellen, das ein Paket mit einer Groovy-Erweiterungsmethode enthält.Ein Projekt mit Groovy-Erweiterungsmethoden darin erstellen
Wenn ich versuche, das Projekt zu kompilieren, können die Klassen, die die Erweiterungsmethode verwenden, es nicht finden. Der Deskriptor und die Klasse werden von der IDE korrekt erkannt.
Ich vermute das Problem ist, dass die Erweiterungsmethode zur Kompilierzeit benötigt wird, durch die es wahrscheinlich noch nicht kompiliert worden ist. Ich habe versucht, verschiedene SourceSets zu erstellen, aber ohne Erfolg.
dependencies {
compile 'org.codehaus.groovy:groovy:2.4.7'
compile 'org.membrane-soa:service-proxy-core:4.2.2'
testCompile 'org.spockframework:spock-core:1.0-groovy-2.4'
extensionCompile 'org.codehaus.groovy:groovy:2.4.7'
}
sourceSets {
extension {
groovy {
include '**/ClosureExtension.groovy'
}
}
main {
groovy {
compileClasspath += extension.output
}
}
}
Die Erweiterung Methode lebt in src/main/groovy/com/predic8/Membran/dsl/Erweiterung und der Rest des Projekts in src/main/groovy/com/predic8/Membran/dsl /.
S.S .: Die Projektklassen sind alle mit @CompileStatic versehen.
Vielen Dank, sieht aus wie ein guter Ansatz! – helpermethod