No właśnie. Piszesz sobie program. Program oparty na mavenie. Potrzebujesz biblioteki. Dodajesz do pom'a. A co jeśli nie ma jej w oficjalnym repozytorium? Wrzucasz sobie do lokalnego ;] A co jeśli jest Was więcej niż jeden w tym samym projekcie? Wymieniacie się bibliotekami i wrzucacie do siebie? Kiepski pomysł...
Z pomocą przychodzą różnej maści repozytoria i proxy do maven'a. Ja chciałbym zwrócić uwagę na Nexus'a. Nexus jest taką małą web aplikacją, która pozwala stworzyć repozytoria na release'y i snapshoty, utworzyć wirtualne repozytoria oraz co fajne zachowywać się jako proxy do innych publicznych repozytoriów. I co znowu fajne, można tych kilka release'owych repozytorów złączyć w jedną grupę i ją wrzucić jako nasze główne repozytorium. Wystarczy, że ty wrzucisz jakąś bibliotekę do waszego własnego repozytorium, a ktoś inny już będzie mógł sobie z tego korzystać. Dzięki proxy dzieje się tak samo. Gdy pobierzesz bibliotekę z repozytorium oficjalnego Nexus pobierze to także do swojego repozytorium i kolejne osoby będą już pobierały z Nexus'a.
O web aplikacji pisałem dlatego, że Nexus'a dostajemy wraz z interfejsem webowym do przeszukiwania naszych repozytoriów i konfiguracji samej aplikacji. Konfiguracja jest bardzo prosta i nie powinna sprawiać nikomu problemów.
Żeby sprawdzić jak to działa wystarczy wejść na stronę demo.
Pewnie myślisz, że trzeba to deploy'ować na jakichś tam tomcat'ach ;] Otóż nie. Ściągasz, rozpakowujesz, przechodzisz do katalogu, który określa twój system, wpisujesz w linii komend nexus start i voilà. Nexus odpala sobie Jetty i niestety nie da się go "zdeplojować" jako war'a na serwerze. Nie przewidują i nie wspierają tego twórcy.
Gdy już Nexus będzie chodził, wystarczy w pliku settings.xml w katalogu maven'a m2 (lub .m2) wrzucić takie coś w sekcji mirrors:
Sekcja mirros pliku settings.xml
< mirror >
< id >moje_repo< / id >
< name >Moj Public Mirror< / name >
< url >http://jakis_path:8081/nexus/content/groups/public< / url >
< mirrorof >central< / mirrorof >
< / mirror >
Oczywiście ten url może się zmienić, bo to jest domyślnie tworzony przez Nexus'a. Polecam też plugin maven'owy do Eclipse'a wydawany przez tą samą firmę, dostępny na tej stronie.
Sonatype tworzy także książkę o maven'ie: The Definitive Guide. Warte przejrzenia.








0 komentarze:
Prześlij komentarz