AWS SDK for Java v2 Bill of Materials providing centralized dependency management for 450+ AWS service modules and SDK components
npx @tessl/cli install tessl/maven-software-amazon-awssdk--bom@2.33.0The AWS SDK for Java v2 Bill of Materials (BOM) is a Maven dependency management artifact that provides centralized version coordination for the entire AWS SDK for Java v2 ecosystem. As a POM-only packaging type, it contains no executable code but instead defines dependency management entries for over 450+ AWS service modules, core libraries, HTTP clients, authentication components, and utility modules.
Maven dependencyManagement import:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>bom</artifactId>
<version>2.33.4</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>Gradle BOM usage:
dependencies {
implementation platform('software.amazon.awssdk:bom:2.33.4')
}After importing the BOM, AWS SDK dependencies can be added without explicit version numbers:
<!-- Service clients without versions -->
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>s3</artifactId>
</dependency>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>dynamodb</artifactId>
</dependency>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>lambda</artifactId>
</dependency>
<!-- Enhanced libraries -->
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>s3-transfer-manager</artifactId>
</dependency>
<!-- HTTP client selection -->
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>netty-nio-client</artifactId>
</dependency>The AWS SDK BOM organizes its 450+ managed dependencies into several key categories:
All components use a unified version (${awsjavasdk.version}) ensuring compatibility across the ecosystem.
Essential SDK building blocks including authentication, regions, protocols, and HTTP client interfaces. These components provide the foundation for all AWS service interactions.
<!-- Core infrastructure dependencies -->
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>sdk-core</artifactId>
<version>${awsjavasdk.version}</version>
</dependency>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>auth</artifactId>
<version>${awsjavasdk.version}</version>
</dependency>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>regions</artifactId>
<version>${awsjavasdk.version}</version>
</dependency>Client libraries for all AWS services including S3, EC2, DynamoDB, Lambda, and 400+ other services. Each service client provides a complete API for interacting with AWS services.
<!-- Popular service clients -->
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>s3</artifactId>
<version>${awsjavasdk.version}</version>
</dependency>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>ec2</artifactId>
<version>${awsjavasdk.version}</version>
</dependency>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>dynamodb</artifactId>
<version>${awsjavasdk.version}</version>
</dependency>Pluggable HTTP client implementations for making requests to AWS services. Choose the appropriate client based on your application's requirements.
<!-- HTTP client options -->
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>netty-nio-client</artifactId>
<version>${awsjavasdk.version}</version>
</dependency>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>apache-client</artifactId>
<version>${awsjavasdk.version}</version>
</dependency>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>url-connection-client</artifactId>
<version>${awsjavasdk.version}</version>
</dependency>High-level convenience libraries that provide simplified APIs for complex operations built on top of the core service clients.
<!-- Enhanced libraries -->
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>s3-transfer-manager</artifactId>
<version>${awsjavasdk.version}</version>
</dependency>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>dynamodb-enhanced</artifactId>
<version>${awsjavasdk.version}</version>
</dependency>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>iam-policy-builder</artifactId>
<version>${awsjavasdk.version}</version>
</dependency>Authentication, HTTP signing, and security components for AWS service requests including credential providers and signing algorithms.
<!-- Authentication components -->
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>http-auth</artifactId>
<version>${awsjavasdk.version}</version>
</dependency>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>http-auth-aws</artifactId>
<version>${awsjavasdk.version}</version>
</dependency>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>auth-crt</artifactId>
<version>${awsjavasdk.version}</version>
</dependency><!-- BOM artifact coordinates -->
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>bom</artifactId>
<version>2.33.4</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- Version property used throughout BOM -->
<properties>
<awsjavasdk.version>2.33.4</awsjavasdk.version>
</properties>