wie importieren Sie einfach eine groovy-Datei in einem anderen groovy-Skript
~/groovy
% tree
.
├── lib
│ ├── GTemplate.class
│ └── GTemplate.groovy
└── Simple.groovy
class GTemplate {
static def toHtml() {
this.newInstance().toHtml1()
}
def toHtml1() {
"test"
}
}
import lib.*
class Simple extends GTemplate {
}
Fehler:
% groovyc Einfach.groovy
org.codehaus.groovig.Kontrolle.MultipleCompilationErrorsException:
Autostart failed: Zusammenstellung unvollständig: voraussichtlich finden die Klasse
lib.GTemplate in /home/bhaarat/groovy/lib/GTemplate.groovy, aber die
die Datei enthält die Klassen: GTemplate 1 Fehler
InformationsquelleAutor Josh | 2012-01-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es sieht aus wie Sie sind verwirrend Groovy mit PHP-wie-Techniken.
Weil es näher an Java, wenn eine Klasse vorhanden ist, in einem Unterverzeichnis, muss es in einem Paket mit dem gleichen Namen. In Ihrem Beispiel könnten Sie fügen Sie diese Zeile an die Spitze der
GTemplate.groovy
und die Datei neu kompilieren:Dies bedeutet jedoch, dass der voll qualifizierte name für die GTemplate ist jetzt eigentlich
lib.GTemplate
. Dies kann nicht sein, was Sie wollen.Alternativ, wenn Sie möchten, verwenden Sie die Dateien aus einem Unterordner ohne Verwendung von Paketen, Sie könnten entfernen Sie die
import
Aussage vonSimple.groovy
, und statt kompilieren und führen Sie die Klasse in etwa so:Ich stark lernen empfehlen über Pakete und verstehen, wie Sie arbeiten. Blick auf diese Wikipedia-Artikel zu Java-Pakete für ein Ausgangspunkt.
InformationsquelleAutor OverZealous