Task 3.3: Migrate JAXB Dependencies
Open
Nobody has claimed this yet.
dotCMS : Technical Debt
Team : Platform
Type : Task
- Dominant language
- Java
- Stars
- 970
- Forks
- 486
- Avg merge
- 3d 33m
- Merged PRs (30d)
- 170
Description
Task Description
Replace dot.jaxb-* with standard Jakarta XML Bind dependencies
Status: 🔄 PENDING
Scope
- Remove
dot.jaxb-api,dot.jaxb-core,dot.jaxb-implfrom POM files - Ensure standard Jakarta XML Bind dependencies from BOM
- Update XML binding functionality to use standard APIs
- Test XML serialization/deserialization across application
Implementation Plan
-
Analysis Phase:
- Review current JAXB usage patterns
- Identify XML binding functionality in codebase
- Document XML schemas and binding configurations
-
Dependency Update:
- Remove
com.dotcms.lib:dot.jaxb-apifrom BOM and dotCMS POM - Remove
com.dotcms.lib:dot.jaxb-corefrom BOM and dotCMS POM - Remove
com.dotcms.lib:dot.jaxb-implfrom BOM and dotCMS POM - Confirm standard Jakarta XML Bind dependencies in BOM
- Remove
-
Code Migration:
- Find any repackaged JAXB imports (if any)
- Replace with standard Jakarta XML Bind imports
- Update XML binding configurations
- Verify annotation processing works correctly
-
Testing:
- Test XML serialization functionality
- Test XML deserialization functionality
- Verify XML schema validation works
- Run XML-related unit and integration tests
Acceptance Criteria
- [ ] All repackaged JAXB dependencies removed from POM files
- [ ] Standard Jakarta XML Bind dependencies confirmed in BOM
- [ ] All XML processing tests pass
- [ ] No XML binding functionality lost
- [ ] XML serialization/deserialization works correctly
- [ ] Schema validation functions properly
Claude Assistance Benefits
- Import Updates: Claude can identify and update any JAXB imports
- XML Analysis: Help analyze XML binding usage patterns
- Testing Support: Identify XML-related test cases
- Configuration Review: Help review XML binding configurations
Related
- Epic: #32675 - Remove Repackaged Dependencies
- Phase: 3 - Medium-Risk Migrations
- Priority: Medium
- Estimated Effort: 2-3 days (with Claude assistance)
Technical Notes
- JAXB is used for XML binding and marshalling
- Migration from Java EE to Jakarta EE APIs
- Verify annotation processing works correctly
- Check for any custom XML binding configurations
- Important for XML-based integrations
Risk Mitigation
- Comprehensive testing of XML functionality
- Verify all XML schemas work correctly
- Performance testing for XML operations
- Rollback plan for JAXB changes
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the BOM and dotCMS POM files mentioned in the scope, then locate XML binding usage, configurations, and related unit and integration tests. Done means the repackaged dependencies are removed, standard Jakarta XML Bind dependencies are confirmed, and serialization, deserialization, schema validation, and XML processing tests pass.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend, build-system
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100