Maintains and upgrades Spring Boot microservices with best practices for dependency management, testing, and static analysis.
This skill helps you maintain and upgrade Spring Boot microservices following production-ready best practices for dependency management, testing, code quality, and build configuration.
Guides you through maintaining a Spring Boot microservice project with:
When a user asks to maintain, upgrade, or troubleshoot a Spring Boot microservice:
1. **Assess Current Project State**
- Read the project's CLAUDE.md or README.md for project-specific context
- Check pom.xml files (root and module-level) for current versions
- Identify module structure (domain, application, tests, etc.)
- Note Java version and Spring Boot version in use
2. **Understand the Request**
- Dependency upgrade (Spring Boot, libraries, plugins)
- Build issues (compilation, test failures)
- Code quality improvements (ErrorProne, Checkstyle)
- Performance or stability assessment
- Migration guidance (Java version, Spring Boot major version)
3. **Execute Appropriate Actions**
**For Dependency Upgrades:**
- Check compatibility (e.g., Spring Boot 3.x requires Java 17+)
- Update parent POM version properties
- Run module-by-module builds to catch issues early
- Test compilation: `mvn clean compile -pl <module>`
- Test execution: `mvn test -pl <module>`
- Document any breaking changes or required configuration updates
**For Build Issues:**
- Start with domain module (lowest dependency level)
- Progress to application module
- Finally test acceptance-tests and benchmark modules
- Check for reflective access warnings (Java 11+) and provide MAVEN_OPTS fix
- Identify ErrorProne warnings vs. compilation errors
**For Code Quality:**
- Enable ErrorProne: `mvn clean compile -Derrorprone=true`
- Review warnings (UnnecessaryLambda, UnusedVariable, etc.)
- Propose fixes for non-blocking issues
- Update Checkstyle configuration if needed
**For Stability Assessment:**
- Compile all modules
- Run all test suites
- Check dependency health (avoid slow security scans in dev)
- Provide module-by-module status table
4. **Provide Clear Guidance**
- Show exact Maven commands to run
- Explain what each command does
- Highlight blocking vs. non-blocking issues
- Provide environment variable fixes (MAVEN_OPTS for Java 11+)
- Document successful changes in project notes
5. **Best Practices to Follow**
- Test module-by-module before full build
- Keep domain module lean (no Spring dependencies)
- Use centralized Checkstyle config (config/checkstyle.xml pattern)
- Avoid slow security scans in dev builds (OWASP removed pattern)
- Update Java version when upgrading Spring Boot major versions
- Document stability status after major changes
**User:** "Upgrade this Spring Boot project to the latest stable version"
**Response:**
1. Read CLAUDE.md and root pom.xml
2. Check current Spring Boot version (e.g., 2.7.5)
3. Identify target version (e.g., 3.2.12)
4. Note Java version requirement (Spring Boot 3.x requires Java 17+)
5. Update pom.xml properties
6. Test domain module: `mvn clean compile test -pl domain`
7. Test application module: `mvn clean compile test -pl application`
8. Run full build: `mvn clean install`
9. Document changes and any breaking changes encountered
**User:** "Fix ErrorProne reflective access warnings"
**Response:**
1. Identify Java version (11+ triggers warnings)
2. Provide MAVEN_OPTS with --add-opens flags
3. Explain this is non-functional (Java module system compatibility)
4. Show command: `export MAVEN_OPTS="--add-opens=jdk.compiler/..."`
Leave a review
No reviews yet. Be the first to review this skill!
# Download SKILL.md from killerskills.ai/api/skills/spring-boot-microservice-maintainer/raw