Bill of Materials (BOM) Google Ads API mengelola versi dependensi untuk menghindari konflik dependensi dengan library seperti Guava dan GAX yang juga digunakan oleh framework lain. BOM memastikan bahwa
Anda menggunakan versi persis dependensi ini yang telah diuji dengan
library klien Google Ads.
Ini adalah cara yang direkomendasikan untuk menggunakan artefak library klien.
Konfigurasi Maven {#maven-configuration}
Dependensi Maven adalah:
<!-- 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>
Konfigurasi Gradle
Dependensi Gradle adalah:
// 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'
Mendeklarasikan dependensi yang tercakup dalam BOM
BOM Google Ads API
mencakup pengelolaan versi untuk beberapa library umum, seperti Guava,
Protobuf, GAX, dan gRPC. Untuk menghindari potensi konflik dependensi, Anda
tidak boleh menentukan versi saat mendeklarasikan dependensi yang dicakup oleh BOM.
BOM otomatis mengelola versi untuk library ini, sehingga memastikan
kompatibilitas.
Misalnya, untuk mendeklarasikan dependensi Guava di Maven, gunakan kode berikut:
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<!-- NO VERSION SPECIFIED -->
</dependency>
Dan di Gradle:
implementation 'com.google.guava:guava' // NO VERSION SPECIFIED
Dengan menghilangkan versi, Anda membiarkan BOM mengelolanya, yang membantu mencegah masalah
yang disebabkan oleh versi dependensi yang tidak kompatibel. Indikator umum konflik
dependensi mencakup NoSuchMethodError atau ClassNotFoundException, yang sering kali dapat diselesaikan dengan memastikan semua dependensi yang dikelola BOM tidak memiliki versi yang ditentukan.