Gradle: ein 3rd-party jar Datei auf den lokalen gradle-repository
derzeit Teste ich Gradle als alternative zu Maven. In meinen Projekten gibt es einige 3rd-party-Gläser, die nicht in jeder (Maven) repositories. Mein problem ist jetzt, wie könnte ich es Schaffe, Sie zu installieren, die diese Gläser in mein lokal .gradle-repository. (Wenn es möglich ist, möchte ich nicht in der lokalen Maven-repository, da Gradle sollte unabhängig davon laufen.) Im moment erhalte ich sehr viele Ausnahmen wegen der fehlenden Gläser. In Maven, es ist ganz einfach durch das ausführen der install-Befehl. Aber meine Google-Suche etwas ähnliches wie die Maven-install-Befehl war nicht erfolgreich. Hat jemand eine Idee?
InformationsquelleAutor der Frage MH. | 2010-04-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
können Sie Ihr Dateisystem zu JAR-Abhängigkeiten:
können Sie ändern, Laufzeit kompilieren/testCompile/etc..
InformationsquelleAutor der Antwort tolitius
Eine umfassendere Antwort gegeben wurde auf einer mailing-Liste von Adam Murdoch bei http://gradle.1045684.n5.nabble.com/Gradle-Make-a-3rd-party-jar-available-to-local-gradle-repository-td1431953.html
April 2010 gab es keine einfache Möglichkeit, fügen Sie eine neue (jar-Datei) in deine ~/.gradle-repository. Derzeit recherchiere, ob sich das geändert hat.
Oktober 2014, ist dies immer noch der Fall ist--da gradle hat eine md5-Prüfsumme Ihres (jar-Datei), können Sie nicht einfach laden Sie es und legen Sie es in ein Verzeichnis unter .gradle/caches und gradle nicht, soweit ich das beurteilen kann, haben alle Aufgaben, mit denen Sie eine lokale Datei und schieben die Datei in seinem cache.
InformationsquelleAutor der Antwort Ian Durkan
Verwendet option (1) aus Adam Murdoch post (bereits oben verlinkten: http://gradle.1045684.n5.nabble.com/Gradle-Make-a-3rd-party-jar-available-to-local-gradle-repository-td1431953.html) mit gradle-1.3 und es funktioniert genauso gut!
Hier sein Kommentar:
InformationsquelleAutor der Antwort oae
Vielleicht bin ich etwas fehlt von meiner Lektüre Ihrer Frage, vorausgesetzt, Ihr gradle repo ist der flatDir geben, Sie sollten in der Lage sein, kopieren Sie die Dateien in der form myjar-1.0.jar und lösen Sie Sie als myjar der version 1.0.
Nicht sicher, warum sollte es notwendig sein, die zum ausführen von Gradle maven, um Zugang zu einem lokalen maven-repository. Sie können einfach definieren, maven repos und es sollte sich lösen von Abhängigkeiten. Sie können
gradle upload
schieben Sie die Gläser lokalen oder remote-maven-repos, wenn Sie benötigen. In diesem Fall wird ausführen von maven.InformationsquelleAutor der Antwort sal
Kurz: deploy-repository-manager. Es können lokale, Unternehmens-LAN.
Ganz andere Weise des Denkens über diese Art von problem, speziell, wenn es Häufig geschieht, ist die Verwendung eines repository-manager. Es gibt einige große open-source-Optionen wie Artifactory, Nexus oder Archiva.
Können davon ausgehen, dass Sie eine jar-Datei von etwas zweifelhafter Herkunft, die Bedürfnisse, um Sie in Ihr zu bauen, bis Sie die Möglichkeit haben, refactoring Sie aus. Ein repository-manager ermöglicht upload der Datei auf den eigenen repository, aus Gründen der diesem Beispiel, dubious-origin-UNKNOWN.jar
Dann Ihr bauen.gradle würde wie folgt Aussehen:
Gibt es viele andere Vorteile der Verwendung eines repository-MANAGERS wie das caching von remote-Artefakte, Artefakte entfernen von scm -, staging-releases, mehr granulare Benutzer-Berechtigungen, und so weiter.
Auf der Seite nach unten, würden Sie einen server hinzufügen, die Teil trägt den Wartungsaufwand zu halten builds ausgeführt.
Hängt von der Größe, wenn Ihr Projekt, nehme ich an.
InformationsquelleAutor der Antwort MrJohnBBQ
Ich denke, so etwas sollte funktionieren:
Funktioniert es für Sie?
InformationsquelleAutor der Antwort amorfis