Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Richiesta di pacchetti Maven da upstream e connessioni esterne

Modalità Focus
Richiesta di pacchetti Maven da upstream e connessioni esterne - CodeArtifact

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Importazione di nomi di risorse standard

Quando importa una versione di pacchetto Maven da un repository pubblico, come Maven Central, CodeArtifact AWS tenta di importare tutte le risorse in quella versione del pacchetto. Come descritto in, l'importazione avviene quando: Richiesta di una versione del pacchetto con repository upstream

  • Un client richiede una risorsa Maven da un repository. CodeArtifact

  • La versione del pacchetto non è già presente nel repository o nei suoi upstream.

  • Esiste una connessione esterna raggiungibile a un repository Maven pubblico.

Anche se il client potrebbe aver richiesto solo una risorsa, CodeArtifact tenta di importare tutte le risorse che riesce a trovare per quella versione del pacchetto. Il modo in cui CodeArtifact scopre quali risorse sono disponibili per una versione del pacchetto Maven dipende dal particolare archivio pubblico. Alcuni repository Maven pubblici supportano la richiesta di un elenco di risorse, ma altri no. Per i repository che non forniscono un modo per elencare le risorse, CodeArtifact genera una serie di nomi di risorse che è probabile che esistano. Ad esempio, quando viene richiesta una risorsa della versione junit 4.13.2 del pacchetto Maven, CodeArtifact tenterà di importare le seguenti risorse:

  • junit-4.13.2.pom

  • junit-4.13.2.jar

  • junit-4.13.2-javadoc.jar

  • junit-4.13.2-sources.jar

Importazione di nomi di asset non standard

Quando un client Maven richiede una risorsa che non corrisponde a uno dei modelli sopra descritti, CodeArtifact verifica se quella risorsa è presente nell'archivio pubblico. Se la risorsa è presente, verrà importata e aggiunta al record della versione del pacchetto esistente, se esistente. Ad esempio, la versione del pacchetto Maven com.android.tools.build:aapt2 7.3.1-8691043 contiene le seguenti risorse:

  • aapt2-7.3.1-8691043.pom

  • aapt2-7.3.1-8691043-windows.jar

  • aapt2-7.3.1-8691043-osx.jar

  • aapt2-7.3.1-8691043-linux.jar

Quando un client richiede il file POM, se non CodeArtifact è in grado di elencare gli asset della versione del pacchetto, il POM sarà l'unica risorsa importata. Questo perché nessuna delle altre risorse corrisponde ai modelli di denominazione degli asset standard. Tuttavia, quando il client richiede una delle risorse JAR, tale risorsa verrà importata e aggiunta alla versione del pacchetto esistente archiviata in CodeArtifact. Le versioni del pacchetto presenti sia nel repository più a valle (l'archivio verso cui il client ha effettuato la richiesta) che nel repository con la connessione esterna collegata verranno aggiornate per contenere la nuova risorsa, come descritto in. Package retention dai repository upstream

Normalmente, una volta che una versione del pacchetto viene conservata in un CodeArtifact repository, non è influenzata dalle modifiche apportate ai repository upstream. Per ulteriori informazioni, consulta Package retention dai repository upstream. Tuttavia, il comportamento degli asset Maven con nomi non standard descritto in precedenza è un'eccezione a questa regola. Sebbene la versione downstream del pacchetto non cambierà senza che un client richieda una risorsa aggiuntiva, in questa situazione, la versione del pacchetto conservata viene modificata dopo essere stata inizialmente mantenuta e quindi non è immutabile. Questo comportamento è necessario perché altrimenti le risorse Maven con nomi non standard non sarebbero accessibili tramite. CodeArtifact Il comportamento si attiva anche se vengono aggiunti a una versione del pacchetto Maven su un repository pubblico dopo che la versione del pacchetto è stata conservata in un repository. CodeArtifact

Verifica delle origini delle risorse

Quando si aggiunge una nuova risorsa a una versione del pacchetto Maven precedentemente conservata, CodeArtifact conferma che l'origine della versione del pacchetto conservata è la stessa dell'origine della nuova risorsa. Ciò impedisce la creazione di una versione del pacchetto «mista» in cui risorse diverse provengono da diversi archivi pubblici. Senza questo controllo, potrebbe verificarsi una combinazione di risorse se una versione del pacchetto Maven viene pubblicata su più di un repository pubblico e tali repository fanno parte del grafico upstream di un CodeArtifact repository.

Importazione di nuove risorse e dello stato delle versioni dei pacchetti nei repository upstream

Lo stato della versione del pacchetto delle versioni dei pacchetti negli archivi upstream può CodeArtifact impedire il mantenimento di tali versioni nei repository downstream.

Ad esempio, supponiamo che un dominio abbia tre repository:repo-A,, e repo-Brepo-C, dove si trova un upstream di e repo-B sta a monte di. repo-A repo-C repo-B

Un diagramma del funzionamento dei nuovi asset e delle nuove versioni dei pacchetti nei repository upstream.

La versione 7.3.1 del pacchetto Maven com.android.tools.build:aapt2 è presente in repo-B e ha uno stato di. Published Non è presente in. repo-A Se un client richiede una risorsa di questa versione del pacchetto darepo-A, la risposta sarà 200 (OK) e la versione del pacchetto Maven 7.3.1 verrà mantenuta. repo-A Tuttavia, se lo stato della versione del pacchetto 7.3.1 in repo-B è Archived oDisposed, la risposta sarà 404 (Not Found) perché le risorse delle versioni del pacchetto in questi due stati non sono scaricabili.

Nota che l'impostazione del controllo di origine del pacchetto su upstream=BLOCK for com.android.tools.build:aapt2 in repo-Arepo-B, repo-C impedirà il recupero di nuove risorse per tutte le versioni di quel pacchettorepo-A, indipendentemente dallo stato della versione del pacchetto.

PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.