BMAD-METHOD/expansion-packs/bmad-java/tasks/java-version-upgrade.md

115 lines
2.8 KiB
Markdown

# Java Version Upgrade Task
## Purpose
Upgrade an existing Java application from an older version to Java 21. Handles dependency updates, code modernization, testing validation, and deployment for Java version migrations.
## When to Use
- Upgrading from Java 8, 11, or 17 to Java 21
- Modernizing legacy Java applications
- Improving application performance and security
- Adopting new Java language features
## Input Requirements
- Current Java version and application details
- Target Java version (Java 21 recommended)
- Application dependencies and frameworks
- Current build system configuration
- Testing requirements
- Deployment environment details
## Process Steps
### 1. Current State Analysis
- Analyze current Java version and features used
- Identify deprecated APIs and patterns
- Assess code quality and technical debt
- Evaluate framework compatibility
- Review performance characteristics
- Document current configuration
### 2. Dependency Compatibility Check
- Check all dependencies for Java 21 compatibility
- Identify incompatible dependencies
- Research alternative libraries
- Plan dependency upgrade strategy
- Update Maven/Gradle dependencies
- Resolve dependency conflicts
### 3. Code Modernization
- Update code to use Java 21 features
- Replace deprecated APIs
- Implement modern Java patterns
- Optimize performance with new features
- Update exception handling
- Improve code quality
### 4. Build System Update
- Update Maven/Gradle configuration
- Update compiler plugin settings
- Update build profiles
- Update CI/CD pipeline configuration
- Test build process
- Validate build output
### 5. Testing and Validation
- Update test frameworks for Java 21
- Run comprehensive test suite
- Perform performance testing
- Conduct security testing
- Validate application functionality
- Test deployment process
### 6. Deployment Preparation
- Update deployment scripts
- Update container images
- Update AWS infrastructure
- Update monitoring configuration
- Prepare rollback procedures
- Plan deployment strategy
## Output Deliverables
- Java 21 compatible application
- Updated dependencies and build configuration
- Modernized code with Java 21 features
- Comprehensive test results
- Updated deployment configuration
- Migration documentation
## Success Criteria
- Application successfully upgraded to Java 21
- All dependencies updated and compatible
- Code modernized with Java 21 features
- All tests passing
- Performance maintained or improved
- Security vulnerabilities addressed
- Application deployed successfully
## Dependencies
- Java 21 JDK installed
- Updated build tools
- Compatible IDE
- Updated testing frameworks
- AWS infrastructure access
## Tools and Resources
- Java 21 JDK
- Maven/Gradle build tools
- IDE with Java 21 support
- Testing frameworks
- Performance testing tools
- Security scanning tools
- AWS CLI and tools