Jaka jest różnica między Nexusem a Mavenem?

138

Jaka jest różnica między Nexusem a Mavenem ?

Jaki jest podstawowy scenariusz użycia tylko Mavena ? A co ze scenariuszem uwzględniającym tylko Nexusa ? A jak to wygląda, gdy chcę używać obu?

ruhungry
źródło

Odpowiedzi:

161

Sonatype Nexus i Apache Maven to dwa programy, które często ze sobą współpracują, ale wykonują bardzo różne części pracy. Nexus zapewnia repozytorium, podczas gdy Maven używa repozytorium do tworzenia oprogramowania.

Oto cytat z „ Co to jest Nexus? ”:

Nexus zarządza „artefaktami” oprogramowania wymaganymi do programowania. Jeśli tworzysz oprogramowanie, Twoje kompilacje mogą pobierać zależności z Nexusa i mogą publikować artefakty w Nexusie, tworząc nowy sposób udostępniania artefaktów w organizacji. Chociaż centralne repozytorium zawsze służyło jako duże udogodnienie dla programistów, nie powinno się do niego trafiać bezpośrednio. Aby zapewnić stabilność w organizacji, należy korzystać z serwera proxy Central za pomocą Nexusa i utrzymywać własne repozytoria. Dzięki Nexus możesz całkowicie kontrolować dostęp do każdego artefaktu w organizacji i jego wdrażanie z jednego miejsca.

A oto cytat z „ Maven and Nexus Pro, Made for each Other ” wyjaśniający, w jaki sposób Maven korzysta z repozytoriów:

Maven wykorzystuje koncepcję repozytorium, pobierając artefakty niezbędne do zbudowania aplikacji i wdrażając wynik procesu kompilacji do repozytorium. Maven wykorzystuje koncepcję repozytoriów strukturalnych, dzięki czemu można pobierać komponenty w celu obsługi kompilacji. Te komponenty lub zależności obejmują biblioteki, struktury, kontenery itp. Maven może identyfikować komponenty w repozytoriach, rozumieć ich zależności, pobierać wszystko, co jest potrzebne do pomyślnej kompilacji, i wdrażać swoje dane wyjściowe z powrotem do repozytoriów po zakończeniu kompilacji.

Tak więc, jeśli chcesz korzystać z obu, będziesz mieć repozytorium zarządzane przez Nexus, a Maven będzie miał do niego dostęp.

blalasaadri
źródło
14

Ma to dobry ogólny opis: https://gephi.wordpress.com/tag/maven/

Pozwólcie, że przedstawię kilka stwierdzeń, które mogą zwrócić uwagę na różnicę:

  1. Przeprowadziliśmy migrację naszej bazy kodu z Ant do Maven

  2. Wszystkie librairies innych firm zostały przesłane do Nexusa. Maven używa Nexusa jako źródła dla bibliotek.

  3. Podstawowe funkcjonalności menedżera repozytorium takiego jak Sonatype to:

    • Zarządzanie zależnościami projektowymi,
    • Artefakty i metadane,
    • Proxowanie zewnętrznych repozytoriów
    • oraz wdrażanie spakowanych plików binarnych i plików JAR w celu udostępniania tych artefaktów innym programistom i użytkownikom końcowym.
HM
źródło
2

Cokolwiek zrozumiałem z mojej wiedzy i myślę, że to jest tutaj. Cytuję część z książki, której się tego nauczyłem. Nexus Repository Manager i Nexus Repository Manager OSS zostały uruchomione jako menedżer repozytoriów obsługujący format repozytorium Maven. Chociaż obsługuje obecnie wiele innych formatów repozytoriów, format repozytorium Maven jest nadal najpopularniejszym i najlepiej obsługiwanym formatem dla narzędzi do tworzenia i obsługi administracyjnej działających na JVM i nie tylko. W tym rozdziale przedstawiono przykładowe konfiguracje korzystania z menedżera repozytorium z Apache Maven i wieloma innymi narzędziami. Konfiguracje wykorzystują połączenie wielu repozytoriów i udostępnianie ich za pośrednictwem grupy repozytoriów. Konfiguracja tego jest udokumentowana w tym rozdziale, oprócz konfiguracji używanej przez określone narzędzia.

Detale

Księżyc
źródło