La distinta base (BOM) dell'API Google Ads gestisce le versioni delle dipendenze per evitare conflitti con librerie come Guava e GAX, utilizzate anche da altri framework. La distinta materiali garantisce l'utilizzo delle versioni esatte di queste dipendenze che sono state testate con la libreria client Google Ads.
Questo è il modo consigliato per utilizzare gli artefatti della libreria client.
Configurazione Maven
Aggiungi il BOM a <dependencyManagement> e dichiara google-ads nel tuo
file pom.xml:
<!-- Import the Bill of Materials (BOM) to ensure you're using compatible
versions of all google-ads libraries. -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.google.api-ads</groupId>
<artifactId>google-ads-bom</artifactId>
<version>46.1.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<!-- Add the google-ads dependency, without a version. The version is
managed by the BOM. -->
<dependency>
<groupId>com.google.api-ads</groupId>
<artifactId>google-ads</artifactId>
</dependency>
Configurazione di Gradle
Gradle 5.0 e versioni successive supportano l'importazione nativa di una BOM utilizzando platform().
In Groovy DSL (build.gradle):
// Import the Bill of Materials (BOM).
implementation platform('com.google.api-ads:google-ads-bom:46.1.0')
// Add the google-ads dependency, without a version.
implementation 'com.google.api-ads:google-ads'
In Kotlin DSL (build.gradle.kts):
// Import the Bill of Materials (BOM).
implementation(platform("com.google.api-ads:google-ads-bom:46.1.0"))
// Add the google-ads dependency, without a version.
implementation("com.google.api-ads:google-ads")
Dichiarazione delle dipendenze coperte dalla distinta materiali
La BOM dell'API Google Ads include la gestione delle versioni per diverse
librerie comuni, come Guava, Protobuf, GAX e gRPC. Per evitare
potenziali conflitti di dipendenze, non devi specificare una versione quando
dichiari le dipendenze coperte dalla distinta materiali. La BOM gestisce automaticamente le versioni di queste librerie, garantendo la compatibilità.
Ad esempio, per dichiarare la dipendenza Guava in Maven, utilizza quanto segue:
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<!-- NO VERSION SPECIFIED -->
</dependency>
In Gradle Groovy DSL (build.gradle):
implementation 'com.google.guava:guava' // NO VERSION SPECIFIED
In Gradle Kotlin DSL (build.gradle.kts):
implementation("com.google.guava:guava") // NO VERSION SPECIFIED
Se ometti la versione, consenti alla distinta materiali di gestirla, il che contribuisce a evitare problemi
causati da versioni di dipendenze incompatibili. Gli indicatori comuni di conflitti
di dipendenza includono NoSuchMethodError o ClassNotFoundException, che possono
spesso essere risolti assicurandosi che tutte le dipendenze gestite da BOM non abbiano una versione
specificata.