Lista materiałów (BOM) interfejsu Google Ads API
zarządza wersjami zależności, aby uniknąć konfliktów zależności z bibliotekami takimi jak Guava i GAX, które są też używane przez inne platformy. BOM zapewnia, że używasz dokładnych wersji tych zależności, które zostały przetestowane z biblioteką klienta Google Ads.
Jest to zalecany sposób korzystania z artefaktów biblioteki klienta.
Konfiguracja Maven {#maven-configuration}
Zależność Maven to:
<!-- 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>41.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>
Konfiguracja Gradle
Zależność Gradle to:
// Import the Bill of Materials (BOM).
implementation platform('com.google.api-ads:google-ads-bom:41.1.0')
// Add the google-ads dependency, without a version.
implementation 'com.google.api-ads:google-ads'
Deklarowanie zależności objętych BOM
Lista materiałów (BOM) interfejsu Google Ads API
obejmuje zarządzanie wersjami kilku popularnych bibliotek, takich jak Guava, Protobuf, GAX i gRPC. Aby uniknąć potencjalnych konfliktów zależności, nie możesz określać wersji podczas deklarowania zależności, które obejmuje BOM.
Lista BOM automatycznie zarządza wersjami tych bibliotek, zapewniając ich zgodność.
Aby na przykład zadeklarować zależność Guava w Mavenie, użyj tego kodu:
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<!-- NO VERSION SPECIFIED -->
</dependency>
W przypadku Gradle:
implementation 'com.google.guava:guava' // NO VERSION SPECIFIED
Pomijając wersję, pozwalasz BOM-owi zarządzać nią, co pomaga zapobiegać problemom spowodowanym przez niezgodne wersje zależności. Typowe wskaźniki konfliktów zależności to NoSuchMethodError lub ClassNotFoundException. Często można je rozwiązać, upewniając się, że wszystkie zależności zarządzane przez BOM nie mają określonej wersji.