Zdaję sobie sprawę, że to pytanie jest dokładnie takie, jak zostało znalezione: here. Jednak jako że pytanie ma 1,5 roku (lub więcej), chciałbym to powtórzyć. Jak dodać lokalne zależności za pomocą leiningen? Na pewno ta zdolność musi już istnieć?Jak używać leiningen do rozwijania przy użyciu lokalnych słoików?
9
A
Odpowiedz
8
Create a private Maven Repository, a następnie dodaj następujące do project.clj
:repositories {"local" ~(str (.toURI (java.io.File. "your_local_repository")))}
7
Jeśli słoiki są oparte na własnych projektach, można użyć lein install
aby umieścić je w lokalnym .m2 lub użyj checkout- funkcja zależności.
Można również użyć dogrywki ścieżek dla klas wyposażone itp
2
Okazało się, że najprostszym (choć nieco hacky) rozwiązaniem jest wykonanie następujących czynności:
Dla istniejącego projektu, że używasz jako zależność:
- w lokalnym projekcie, który ma zależność chcesz zmodyfikować, upewnij się uruchomić
lein deps
- sklonować repo z tej zależności, dzięki czemu można go zmodyfikować lokalnie (o bv. upewnij się, że używasz tego samego tag jako wersji określonej w pliku project.clj)
- Run
lein uberjar
w tym zależność dir (gdzie stosowne mieszka plików project.clj) - skopiuj wygenerowany samodzielna słoik w celu/do dokładnej ścieżki/pliku twoich lokalnych plików ... (coś w stylu: ~/.m2/repository/project /.../ file.jar); Upewnić się, że wykonanie kopii zapasowej oryginalnego pliku jar, dzięki czemu można go przywrócić później, jeśli jest to pożądane
Dla rozwoju własnego projektu:
- W ramach projektu lub wtyczki, której rozwój, wystarczy uruchomić
lein install
- dowiedzieć się, gdzie jest lokalny repo Maven (patrz wyżej na przykładzie ścieżki)
- Wprowadź informacji o zależnościach w projekcie testowym jak byś z innego projektu Leiningen
Ponownie, jest to szybkie włamanie i być może nie tak, jak w przypadku poważnego rozwoju lokalnego, ale uznałem, że jest to łatwe do spełnienia. Sprawdź numer lein help tutorial
, aby uzyskać więcej informacji.
Świetnie, dzięki. Btw, właśnie zrobiłem to: ': repozytoriów {" local ""/my/string/path "}' i działało dobrze. – benekastah
Ale inny programista, który klonuje twój projekt, musi zmienić ścieżkę! –
Ach, tak, to ma sens. Dzięki! – benekastah