- Fast XML comparison regardless of element order
- Excel output with detailed differences
- Comprehensive input validation and error handling
- Modern dependencies with security updates (Log4j 2.x, Apache POI 5.x, JUnit 5.x)
- Docker support for containerized execution
- Tested on large files (6MB+ XML files)
- ✅ Security fixed: Upgraded Log4j to 2.21.1 (fixes Log4Shell vulnerabilities)
- ✅ Dependencies updated: Apache POI 5.2.5, JUnit 5.10.1
- ✅ Code modernized: Better error handling, input validation, refactored architecture
- ✅ Test coverage: Comprehensive unit tests added
java -jar xml-compare-0.0.1-SNAPSHOT-jar-with-dependencies.jar <Input XML1 path> <Input XML2 path> <Output XLS path>
Eg:
java -jar xml-compare-0.0.1-SNAPSHOT-jar-with-dependencies.jar /home/ravi/Desktop/Projects/xml-compare/src/main/resources/XML1.xml /home/ravi/Desktop/Projects/xml-compare/src/main/resources/XML2.xml /home/ravi/Desktop/Projects/xml-compare/src/main/resources/Results2.xls
docker run -p 8084:8080 -v <local path>:/usr/src -t ravikalla/xml-compare /usr/src/<XML1 filename> /usr/src/<XML2 filename> /usr/src/<Results.xls filename>
Eg:
docker run -p 8084:8080 -v /home/ravi/Desktop/Projects/xml-compare/src/main/resources:/usr/src -t ravikalla/xml-compare /usr/src/XML1.xml /usr/src/XML2.xml /usr/src/Results.xls
- Input validation: The tool validates file paths and accessibility before processing
- Error handling: Clear error messages for common issues (file not found, permission errors, etc.)
- Output format: Results are generated in Excel (.xls) format with separate sheets for matches and mismatches
Javadoc in Github pages: Javadoc

