feat: improve error message when Jackson is missing from classpath#473
Conversation
8b78bd7 to
40fef86
Compare
There was a problem hiding this comment.
Pull request overview
This PR improves the developer experience when using docling-serve-client without a Jackson implementation on the classpath by making the thrown IllegalStateException more actionable, and updates docs/examples around client usage and downstream framework integrations.
Changes:
- Expand the “missing Jackson”
IllegalStateExceptionmessage to include Maven/Gradle dependency coordinates for Jackson 2 and Jackson 3. - Update
DoclingServeClientBuilderFactoryTeststo assert the new message content. - Refresh docs to link to Quarkus/Spring Boot downstream implementations and adjust client usage examples.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| docs/src/doc/docs/docling-serve/serve-client.md | Adds references to downstream implementations and updates the quick-start snippet (including an apiKey example). |
| docs/src/doc/docs/docling-serve/serve-api.md | Adds references to downstream implementations and improves readability with spacing. |
| docling-serve/docling-serve-client/src/test/java/ai/docling/serve/client/DoclingServeClientBuilderFactoryTests.java | Updates assertions to validate the expanded exception message. |
| docling-serve/docling-serve-client/src/main/java/ai/docling/serve/client/DoclingServeClientBuilderFactory.java | Updates the thrown exception message to include dependency guidance for Jackson 2/3. |
Include Maven and Gradle dependency coordinates in the error message when neither Jackson 2 nor Jackson 3 is found on the classpath, so users know exactly what dependency to add. Closes docling-project#470 Assisted-By: Claude Code <noreply@anthropic.com> Signed-off-by: Eric Deandrea <eric.deandrea@ibm.com>
The trailing \ triggered Java text-block line continuation, suppressing the newline and pulling closing-delimiter indentation into the message. Assisted-By: Claude Code <noreply@anthropic.com> Signed-off-by: Eric Deandrea <eric.deandrea@ibm.com>
$version is not a Gradle-standard variable and makes the snippet non-copy-pasteable. Use <version> which is a widely recognized placeholder convention. Assisted-By: Claude Code <noreply@anthropic.com> Signed-off-by: Eric Deandrea <eric.deandrea@ibm.com>
88f3e35 to
6c5c7fb
Compare
:java_duke: JaCoCo coverage report
|
|
||||||||||||||
|
HTML test reports are available as workflow artifacts (zipped HTML). • Download: Artifacts for this run |
|
HTML test reports are available as workflow artifacts (zipped HTML). • Download: Artifacts for this run |
|
HTML test reports are available as workflow artifacts (zipped HTML). • Download: Artifacts for this run |
Summary
IllegalStateExceptionmessage thrown when neither Jackson 2 nor Jackson 3 is on the classpath to include actionable Maven/Gradle dependency coordinatesTest plan
DoclingServeClientBuilderFactoryTests.noBuilderWhenNeitherArePresent()passes with updated assertionDoclingServeClientBuilderFactoryTestsremain greenspotlessCheckpassesCloses #470