Back to skills
extension
Category: Development & EngineeringNo API key required

aws-v2

Migrate from AWS SDK for Java v1 (com.amazonaws) to v2 (software.amazon.awssdk). Use when projects need to move away from deprecated AWS SDK v1 to the modern v2 API.

personAuthor: jakexiaohubgithub

AWS SDK v2 Migration

Migrate Java projects from AWS SDK v1 (com.amazonaws) to v2 (software.amazon.awssdk).

When to Use

  • Project uses deprecated AWS SDK v1 (com.amazonaws.* imports)
  • Dependabot/security scans flag v1 vulnerabilities
  • Need features only available in v2 (async clients, HTTP/2, etc.)
  • When asked to "upgrade to aws sdk v2"

Skill Contents

Sections

Available Resources

📚 references/ - Detailed documentation


Critical: MSK IAM Authentication

When migrating to AWS SDK v2, also update aws-msk-iam-auth if using Kafka with MSK IAM.

Error after migration:

NoClassDefFoundError: com/amazonaws/auth/AWSCredentialsProvider

Fix: Update aws-msk-iam-auth to 2.3.5 (AWS SDK v2 compatible).

See references/migration-patterns.md for details.

Migration Strategy (Priority Order)

| Priority | Strategy | When to Use | |----------|----------|-------------| | 1 | Update library | A newer version of the library uses v2 | | 2 | Update BOM | v1 comes from Spring Boot or other BOM | | 3 | Dependency substitution | Replace v1 artifact with v2 equivalent | | 4 | Direct code migration | Only if no library update available |

Quick Start

1. Identify v1 Usages

# Find all files with v1 imports
grep -r "import com.amazonaws" --include="*.java" . | grep -v "/build/"

# Check dependency tree
./gradlew dependencies --configuration runtimeClasspath | grep -B5 "com.amazonaws"

2. Apply Migration

See references/migration-patterns.md for detailed code migration patterns.

Dependency Substitution (in root build.gradle):

allprojects {
    configurations.configureEach {
        resolutionStrategy.dependencySubstitution {
            substitute module("com.amazonaws:aws-java-sdk-s3")
                using module("software.amazon.awssdk:s3:${libs.versions.aws.sdk.v2.get()}")
                because "Migrate to AWS SDK v2"
        }
    }
}

3. Validate

# Verify no v1 imports remain
grep -r "import com.amazonaws" --include="*.java" . | grep -v "/build/"

# Build and test
./gradlew clean build test

References

| Reference | Content | |-----------|---------| | references/migration-patterns.md | Code migration patterns for S3, SQS, SNS, Lambda |

Related Command

This skill is referenced by: /upgrade-to-aws-sdk-v2 (see java/commands/)

Related Resources

<!-- AUTO-GENERATED FILE - DO NOT EDIT DIRECTLY --> <!-- Source: bitsoex/ai-code-instructions → java/skills/aws-v2/SKILL.md --> <!-- To modify, edit the source file and run the distribution workflow -->