Per assicurarti che i tuoi progetti abbiano versioni compatibili delle
librerie client Cloud, utilizza le versioni specificate nella
distinta base (BOM) delle librerie Google Cloud. Le librerie nella distinta materiali non presentano
conflitti di dipendenza che si manifesterebbero come NoSuchMethodError o
NoClassDefFoundError.
La distinta materiali è necessaria perché Google pubblica oltre 200 librerie Java open source che semplificano l'utilizzo dei servizi in Google Cloud. Le librerie Google Cloud dipendono da diverse librerie di base che possono essere utilizzate per scopi generali.
Questi consigli si applicano ai componenti delle seguenti librerie:
Aggiornamento del progetto per utilizzare la distinta materiali
Per assicurarti che i tuoi progetti utilizzino versioni compatibili delle librerie e dei relativi artefatti dei componenti, importa com.google.cloud:libraries-bom e utilizza la distinta base per specificare le versioni delle dipendenze. Assicurati di rimuovere tutte le versioni che hai
impostato in precedenza.
Se riscontri problemi di compatibilità con protobuf-java 4.x, aggiorna la base di codice e le dipendenze per garantire la compatibilità. Consulta le note di rilascio di libraries-bom v26.50.0 e libraries-bom v26.75.0 per potenziali problemi di compatibilità.
Maven
Importa la distinta materiali nella sezione dependencyManagement del file pom.xml.
Includi gli artefatti specifici da cui dipende il tuo progetto nella sezione dependencies, ma non
specificare le versioni degli artefatti nella sezione dependencies. L'esempio seguente
mostra come importare la distinta materiali e includere l'artefatto google-cloud-storage.
In questo esempio, poiché la distinta materiali gestisce le versioni della libreria, la versione di google-cloud-storage viene omessa.
Gradle
Le BOM sono supportate per impostazione predefinita in Gradle 5.x o versioni successive. Aggiungi una dipendenza da platform
com.google.cloud:libraries-bom e rimuovi la versione dalle
dichiarazioni di dipendenza nel file build.gradle dell'artefatto.
Le parole chiave platform e enforcedPlatform forniscono le versioni delle dipendenze
dichiarate in una distinta materiali. La parola chiave enforcedPlatform applica le versioni delle dipendenze
dichiarate nella distinta materiali e quindi sostituisce quelle specificate.
Per ulteriori dettagli sulle parole chiave platform e enforcedPlatform di Gradle 5.x o versioni successive, consulta
Gradle: Importing Maven BOMs.
Se utilizzi Gradle 4.6 o versioni successive, aggiungi