2015-09-01 12 views
15

Ich versuche, Dokumentation und Code-Beispiele zu finden, wie man eine lokale/nicht-maven JAR-Datei zu meinem Grails 3 hinzufügt .x Projekt?Wie man eine "nicht-mavenisierte" Jar-Abhängigkeit zu einem Grails-Projekt hinzufügt (Grails 3.x)

Ich fand den separaten Thread How to add a non-maven jar to grails - aber das ist nur zu Grals 2.3, und die Dateistruktur und Konfiguration hat eine große Überholung in 3.x unterzogen.

Jede Hilfe und (vor allem) Code-Beispiele wäre wunderbar! Die .jar-Datei befindet sich im lokalen Projektverzeichnis, und ich beabsichtige, sie mit der WAR-Datei zu packen.

Zusätzlich, sobald ich die Abhängigkeit hinzufügen, sollte ich nur in der Lage sein, es Methoden aus dem Controller & Service-Dateien aufrufen? oder muss ich sie auch in diese aufnehmen?

thx!

+2

Sie das Glas selbst herunterladen und legen Sie sie in lib Ordner, um es perfekt funktioniert. Keine Notwendigkeit, Buildconfig zu ändern. – Abhishek

+2

in Grails 3.0.1 gibt es keinen Ordner 'lib', das war eine der Änderungen von 2.x zu 3.x. –

Antwort

22

Grails 3 verwendet Gradle, also gibt es nichts Graises spezifisch über ein lokales Glas. Es ist so einfach wie das Hinzufügen einer Dateiabhängigkeit zum dependencies Block Ihrer build.gradle Datei.

Per die Gradle documentation on File Dependencies:

Um einige Dateien als eine Abhängigkeit für eine Konfiguration hinzuzufügen, übergeben Sie einfach eine Dateisammlung als Abhängigkeit:

dependencies { 

    ... 

    compile files('libs/a.jar', 'libs/b.jar') 
    // or 
    compile fileTree(dir: 'libs', include: '*.jar') 
} 

Das obige Beispiel zeigt zwei Möglichkeiten, Einschließen von Gläsern, die in einem lokalen libs/-Verzeichnis existieren; Sie können entweder/oder tun. Die JAR-Dateien können sich an beliebiger Stelle im Dateisystem befinden, stellen Sie jedoch sicher, dass Sie auf den richtigen Pfad verweisen.

Um die Klassen aus der Abhängigkeit in Ihrer Anwendung zu verwenden, fügen Sie sie in Ihre Dienste, Controller und alle anderen Klassen ein, wie Sie es normalerweise tun würden. Sagen hat libs/a.jar eine Klasse org.example.Something, würden Sie einen Import an die Spitze Ihrer Grails Klasse wie so hinzufügen:

import org.example.Something 
+1

Ausgezeichnet !! Danke so viel dpcasady. Eine ungewöhnlich vollständige Antwort, auch für SO. –

+0

Es scheint keinen lib-Ordner zu geben (was du libs-Ordner genannt hast) in grails 3, um jar-Dateien hinzuzufügen, http://docs.grails.org/3.0.x/guide/upgrading.html – Zimm3r

+0

Das ist nur ein willkürliches Beispiel, das andere demonstriert Wie man auf ein beliebiges Verzeichnis im Dateisystem zeigt, es gibt nichts besonderes daran, es 'libs' zu nennen oder relativ zum grails-Projekt zu haben. Sie können dort ein Verzeichnis erstellen oder auf einen anderen vorhandenen Ordner in Ihrem Dateisystem verweisen. – dpcasady

Verwandte Themen