distinta base

La distinta materiali (BOM) dell'API Google Ads gestisce le versioni delle dipendenze per evitare conflitti di dipendenze con librerie come Guava e GAX utilizzate anche da altri framework. La BOM 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 di Maven

Aggiungi la BOM a <dependencyManagement> e dichiara google-ads nel tuo pom.xml file:

<!-- 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>48.0.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:48.0.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:48.0.0"))

// Add the google-ads dependency, without a version.
implementation("com.google.api-ads:google-ads")

Dichiarazione delle dipendenze coperte dalla BOM

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 BOM. 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

Omettendo la versione, consenti alla BOM di gestirla, il che aiuta a prevenire i problemi causati da versioni di dipendenze incompatibili. Gli indicatori comuni di conflitti di dipendenze includono NoSuchMethodError o ClassNotFoundException, che spesso possono essere risolti assicurandosi che tutte le dipendenze gestite dalla BOM non abbiano una versione specificata.