Die Materialliste (Bill of Materials, BOM) der Google Ads API verwaltet Abhängigkeitsversionen, um Abhängigkeitskonflikte mit Bibliotheken wie Guava und GAX zu vermeiden, die auch von anderen Frameworks verwendet werden. Die BOM sorgt dafür, dass Sie genau die Versionen dieser Abhängigkeiten verwenden, die mit der Google Ads-Clientbibliothek getestet wurden.
Dies ist die empfohlene Methode zur Verwendung der Clientbibliotheksartefakte.
Maven-Konfiguration
Fügen Sie die BOM zu <dependencyManagement> hinzu und deklarieren Sie google-ads in Ihrer
pom.xml Datei:
<!-- 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>
Gradle-Konfiguration
Gradle 5.0 und höher unterstützt den Import einer BOM nativ mit 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")
Abhängigkeiten deklarieren, die von der BOM abgedeckt werden
Die BOM der Google Ads API umfasst die Versionsverwaltung für mehrere
gängige Bibliotheken wie Guava, Protobuf, GAX, und gRPC. Um potenzielle Abhängigkeitskonflikte zu vermeiden, dürfen Sie keine Version angeben, wenn Sie Abhängigkeiten deklarieren, die von der BOM abgedeckt werden. Die BOM verwaltet die Versionen für diese Bibliotheken automatisch und sorgt so für Kompatibilität.
Wenn Sie beispielsweise die Guava-Abhängigkeit in Maven deklarieren möchten, verwenden Sie Folgendes:
<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
Wenn Sie die Version weglassen, wird sie von der BOM verwaltet. So lassen sich Probleme vermeiden, die durch inkompatible Abhängigkeitsversionen verursacht werden. Häufige Anzeichen für Abhängigkeitskonflikte sind NoSuchMethodError oder ClassNotFoundException. Diese können oft behoben werden, indem Sie darauf achten, dass für alle von der BOM verwalteten Abhängigkeiten keine Version angegeben ist.