Jackson integration modules for problem4j-core - serialization and deserialization of RFC 7807 Problem objects.
| Module | Jackson | Java target | Entry point |
|---|---|---|---|
problem4j-jackson2 |
2.x | 8 | ProblemModule |
problem4j-jackson3 |
3.x | 17 | ProblemJacksonModule |
Prioritize changes in the submodule matching the Jackson version in context.
Requires JDK 17+. Dependencies managed in gradle/libs.versions.toml. Custom Gradle plugins live in build-logic.
./gradlew # default: spotlessApply build (preferred)
./gradlew spotlessApply # auto-format code
./gradlew build # compile + test + spotlessCheck
./gradlew test # tests only- Do not use terminal commands (e.g.,
cat,find,ls) to read or list project files - use IDE/agent tools instead. - Run tests once, save output to
build/test-run.loginside the repo (> build/test-run.log 2>&1), then read from that file to extract errors. Never run the same test command multiple times, without changes in sources. Store test output in multiple files if you want to compare before/after changes (ex.build/test-run-{i}.log).
- No self-explaining comments - only add comments for non-obvious context.
- No wildcard imports.
- Follow existing code patterns and naming conventions.
- Let
spotlessApplyhandle all formatting - never format manually.
- Method naming:
givenThis_whenThat_thenWhat. - No
// given,// when,// thensection comments. - Cover both positive and negative cases.
- Use AssertJ for assertions.