Wie kann man mit leiningen mit lokalen Gläsern entwickeln?
-
29-10-2019 - |
Frage
Mir ist klar, dass diese Frage so ziemlich genau die Frage ist, die hier zu finden ist.Da diese Frage jedoch 1,5 Jahre alt ist (oder so), würde ich sie gerne noch einmal prüfen.Wie fügt man mit leiningen lokale Abhängigkeiten hinzu?Sicherlich muss diese Fähigkeit jetzt vorhanden sein?
Lösung
Erstellen Sie ein privates Maven-Repository und fügen Sie es hinzuFolgendes zu Ihrem project.clj
:repositories {"local" ~(str (.toURI (java.io.File. "your_local_repository")))}
Andere Tipps
Wenn die Gläser auf Ihren eigenen Projekten basieren, können Sie sie mit lein install
in Ihre lokale .m2-Datei einfügen oder die Funktion zum Auschecken von Abhängigkeiten verwenden.
Sie können auch die Funktion für zusätzliche Klassenpfade usw. verwenden.
Ich fand, dass die einfachste (wenn auch etwas hackige) Lösung darin besteht, Folgendes zu tun:
Für ein vorhandenes Projekt, das Sie als Abhängigkeit verwenden:
- Stellen Sie in Ihrem lokalen Projekt mit der Abhängigkeit, die Sie ändern möchten, sicher, dass Sie
lein deps
ausführen - Klonen Sie das Repo dieser Abhängigkeit, damit Sie es lokal ändern können (stellen Sie sicher, dass Sie dasselbe Tag verwenden wie die Version, die Sie in Ihrer Datei project.clj angegeben haben)
- Führen Sie
lein uberjar
in diesem Abhängigkeitsverzeichnis aus (in dem sich die entsprechende Datei project.clj befindet) - Kopieren Sie das generierte Standalone-JAR in target / in den genauen Pfad / die Datei Ihrer lokalen Maven-Dateien ... (etwa: ~ / .m2 / repository / project /.../ file.jar); Stellen Sie sicher, dass Sie die ursprüngliche JAR-Datei sichern, damit Sie sie später wiederherstellen können, wenn dies wünschenswert ist.
Für die Entwicklung Ihres eigenen Projekts:
- Führen Sie in dem Projekt oder Plugin, das Sie entwickeln, einfach
lein install
aus - Finden Sie heraus, wo sich Ihr lokales Maven-Repo befindet (siehe oben für einen Beispielpfad)
- Geben Sie Abhängigkeitsinformationen in Ihr Testprojekt ein, wie Sie es für jedes andere Leiningen-Projekt tun würden.
Auch dies ist ein schneller Hack und vielleicht nicht die Art und Weise, wie Sie ernsthafte lokale Entwicklungen durchführen würden, aber ich fand es einfach genug für das, was ich wollte. Weitere Informationen finden Sie unter
lein help tutorial
- Führen Sie in dem Projekt oder Plugin, das Sie entwickeln, einfach