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
-
When to Use
-
Critical: MSK IAM Authentication
-
Migration Strategy (Priority Order)
-
Quick Start
-
References
-
Related Command
-
Related Resources
Available Resources
📚 references/ - Detailed documentation
- migration patterns
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
- 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"
- 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" } } }
- 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
-
AWS SDK v2 Developer Guide
-
AWS SDK v2 Migration Guide