Google Ads API Malzeme Listesi (BOM), diğer çerçeveler tarafından da kullanılan Guava ve GAX gibi kitaplıklarla bağımlılık çakışmalarını önlemek için bağımlılık sürümlerini yönetir. BOM, bu bağımlılıkların Google Ads istemci kitaplığıyla test edilmiş tam sürümlerini kullanmanızı sağlar.
İstemci kitaplığı yapılarını kullanmak için önerilen yöntem budur.
Maven yapılandırması
BOM'u <dependencyManagement> dosyasına ekleyin ve pom.xml dosyanızda google-ads öğesini tanımlayın:
<!-- 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 yapılandırması
Gradle 5.0 ve sonraki sürümler, platform() kullanarak bir BOM'u yerel olarak içe aktarmayı destekler.
Groovy DSL'de (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'
Kotlin DSL'de (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")
BOM kapsamındaki bağımlılıkları bildirme
Google Ads API BOM, Guava, Protobuf, GAX ve gRPC gibi birkaç yaygın kitaplık için sürüm yönetimi içerir. Olası bağımlılık çakışmalarını önlemek için BOM'un kapsadığı bağımlılıkları bildirirken bir sürüm belirtmemeniz gerekir. BOM, bu kitaplıkların sürümlerini otomatik olarak yöneterek uyumluluğu sağlar.
Örneğin, Maven'de Guava bağımlılığını bildirmek için aşağıdakileri kullanın:
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<!-- NO VERSION SPECIFIED -->
</dependency>
Gradle Groovy DSL'de (build.gradle):
implementation 'com.google.guava:guava' // NO VERSION SPECIFIED
Gradle Kotlin DSL'de (build.gradle.kts):
implementation("com.google.guava:guava") // NO VERSION SPECIFIED
Sürümü atlayarak BOM'un sürümü yönetmesine izin verirsiniz. Bu sayede, uyumsuz bağımlılık sürümlerinden kaynaklanan sorunları önleyebilirsiniz. Bağımlılık çakışmalarının yaygın göstergeleri arasında NoSuchMethodError veya ClassNotFoundException bulunur. Bu sorunlar genellikle BOM tarafından yönetilen tüm bağımlılıkların sürümünün belirtilmediğinden emin olunarak çözülebilir.