物料清单

Google Ads API 物料清单 (BOM) 可管理依赖项版本,以避免与 GuavaGAX 等其他框架也使用的库发生依赖项冲突。BOM 可确保您使用经过 Google Ads 客户端库测试的这些依赖项的确切版本。

这是使用客户端库制品的方式。

Maven 配置 {#maven-configuration}

Maven 依赖项为:

<!-- 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>

Gradle 配置

Gradle 依赖项为:

// 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'

声明 BOM 涵盖的依赖项

Google Ads API BOM 包含对多个常用库(例如 GuavaProtobufGAXgRPC)的版本管理。为避免潜在的依赖项冲突,您不得在声明 BOM 涵盖的依赖项时指定版本。BOM 会自动管理这些库的版本,确保兼容性。

例如,如需在 Maven 中声明 Guava 依赖项,请使用以下代码:

<dependency>
  <groupId>com.google.guava</groupId>
  <artifactId>guava</artifactId>
  <!-- NO VERSION SPECIFIED -->
</dependency>

在 Gradle 中:

implementation 'com.google.guava:guava' // NO VERSION SPECIFIED

通过省略版本,您可以让 BOM 管理版本,这有助于防止因依赖项版本不兼容而导致的问题。依赖项冲突的常见指示符包括 NoSuchMethodErrorClassNotFoundException,通常可以通过确保所有受 BOM 管理的依赖项均未指定版本来解决。