Qual è la differenza tra Nexus e Maven?


133

Qual è la differenza tra Nexus e Maven ?

Qual è uno scenario di base di utilizzo solo Maven ? Che dire di uno scenario che considera solo Nexus ? E come appare quando voglio usare entrambi?

Risposte:


156

Sonatype Nexus e Apache Maven sono due software che spesso lavorano insieme ma svolgono parti del lavoro molto diverse. Nexus fornisce un repository mentre Maven utilizza un repository per creare software.

Ecco una citazione da " Cos'è Nexus? ":

Nexus gestisce gli "artefatti" software necessari per lo sviluppo. Se sviluppi software, le tue build possono scaricare dipendenze da Nexus e pubblicare artefatti su Nexus creando un nuovo modo di condividere artefatti all'interno di un'organizzazione. Mentre il repository Central è sempre stato una grande comodità per gli sviluppatori, non dovresti colpirlo direttamente. Dovresti essere il proxy centrale con Nexus e mantenere i tuoi repository per garantire stabilità all'interno della tua organizzazione. Con Nexus puoi controllare completamente l'accesso e la distribuzione di ogni artefatto nella tua organizzazione da un'unica posizione.

Ed ecco una citazione di " Maven e Nexus Pro, Made for Each Other " che spiega come Maven utilizza i repository:

Maven sfrutta il concetto di un repository recuperando gli artefatti necessari per compilare un'applicazione e distribuendo il risultato del processo di compilazione in un repository. Maven utilizza il concetto di repository strutturati in modo che i componenti possano essere recuperati per supportare la build. Questi componenti o dipendenze includono librerie, framework, container, ecc. Maven è in grado di identificare i componenti nei repository, comprenderne le dipendenze, recuperare tutto ciò che è necessario per una compilazione corretta e distribuire il proprio output nei repository al termine della compilazione.

Quindi, quando si desidera utilizzare entrambi, si avrà un repository gestito da Nexus e Maven accederà a questo repository.


14

Questa ha una buona descrizione generale: https://gephi.wordpress.com/tag/maven/

Vorrei fare alcune affermazioni che possono mettere a fuoco la differenza:

  1. Abbiamo migrato la nostra base di codici da Ant a Maven

  2. Tutte le librerie di terze parti sono state caricate su Nexus. Maven sta usando Nexus come fonte per le biblioteche.

  3. Le funzionalità di base di un gestore di repository come Sonatype sono:

    • Gestione delle dipendenze del progetto,
    • Manufatti e metadati,
    • Invio di repository esterni
    • e distribuzione di binari e JAR confezionati per condividere tali artefatti con altri sviluppatori e utenti finali.

2

Qualunque cosa ho capito dal mio apprendimento e ciò che penso che sia è qui. Sto citando una parte di un libro che ho imparato queste cose. Nexus Repository Manager e Nexus Repository Manager OSS sono stati avviati come gestore di repository che supporta il formato di repository Maven. Sebbene ora supporti molti altri formati di repository, il formato di repository Maven è ancora il formato più comune e ben supportato per gli strumenti di compilazione e provisioning in esecuzione su JVM e oltre. Questo capitolo mostra le configurazioni di esempio per l'uso del gestore repository con Apache Maven e una serie di altri strumenti. Le configurazioni traggono vantaggio dall'unione di molti repository e dalla loro esposizione tramite un gruppo di repository. L'impostazione è documentata nel capitolo in aggiunta alla configurazione utilizzata da strumenti specifici.

Dettagli

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.