Danh sách thành phần (BOM) của API Google Ads quản lý các phiên bản phần phụ thuộc để tránh xung đột phần phụ thuộc với các thư viện như Guava và GAX cũng được các khung khác sử dụng. BOM đảm bảo rằng bạn sử dụng chính xác các phiên bản của những phần phụ thuộc này đã được kiểm thử bằng thư viện ứng dụng Google Ads.
Đây là cách được đề xuất để sử dụng các cấu phần phần mềm của thư viện ứng dụng.
Cấu hình Maven {#maven-configuration}
Phần phụ thuộc Maven là:
<!-- 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>
Cấu hình Gradle
Phần phụ thuộc Gradle là:
// 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'
Khai báo các phần phụ thuộc có trong BOM
BOM API Google Ads bao gồm tính năng quản lý phiên bản cho một số thư viện phổ biến, chẳng hạn như Guava, Protobuf, GAX và gRPC. Để tránh xung đột phần phụ thuộc có thể xảy ra, bạn không được chỉ định phiên bản khi khai báo các phần phụ thuộc mà BOM bao gồm.
BOM tự động quản lý các phiên bản cho những thư viện này, đảm bảo khả năng tương thích.
Ví dụ: để khai báo phần phụ thuộc Guava trong Maven, hãy sử dụng phần sau:
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<!-- NO VERSION SPECIFIED -->
</dependency>
Và trong Gradle:
implementation 'com.google.guava:guava' // NO VERSION SPECIFIED
Bằng cách bỏ qua phiên bản, bạn cho phép BOM quản lý phiên bản đó, giúp ngăn chặn các vấn đề do các phiên bản phần phụ thuộc không tương thích gây ra. Các chỉ báo phổ biến về xung đột phần phụ thuộc bao gồm NoSuchMethodError hoặc ClassNotFoundException. Bạn thường có thể giải quyết xung đột này bằng cách đảm bảo tất cả các phần phụ thuộc do BOM quản lý đều không có phiên bản được chỉ định.