A lista de materiais (BOM) da API Google Ads gerencia versões de dependência para evitar conflitos com bibliotecas como Guava e GAX, que também são usadas por outros frameworks. A BOM garante que você use as versões exatas dessas dependências que foram testadas com a biblioteca de cliente do Google Ads.
Essa é a maneira recomendada de consumir os artefatos da biblioteca de cliente.
Configuração do Maven {#maven-configuration}
A dependência do 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>
Configuração do Gradle
A dependência do 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'
Como declarar dependências cobertas pela BOM
O BOM da API Google Ads inclui gerenciamento de versões para várias bibliotecas comuns, como Guava, Protobuf, GAX e gRPC. Para evitar possíveis conflitos de dependência, não especifique uma versão ao declarar dependências cobertas pela BOM.
A BoM gerencia automaticamente as versões dessas bibliotecas, garantindo a
compatibilidade.
Por exemplo, para declarar a dependência Guava no Maven, use o seguinte:
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<!-- NO VERSION SPECIFIED -->
</dependency>
E no Gradle:
implementation 'com.google.guava:guava' // NO VERSION SPECIFIED
Ao omitir a versão, você permite que a BoM gerencie isso, o que ajuda a evitar problemas
causados por versões de dependência incompatíveis. Os indicadores comuns de conflitos de dependência incluem NoSuchMethodError ou ClassNotFoundException, que geralmente podem ser resolvidos garantindo que todas as dependências gerenciadas pela BOM não tenham uma versão especificada.