Reputation: 2012
I have a quarkus app, https://github.com/Epic-Breakfast-Productions/OpenQuarterMaster/tree/main/software/open-qm-base-station that relies on a dependency I make and build locally (it is available in the local maven repo). I have taken the steps necessary to make this work with Quarkus (empty beans.xml
file), and works fine when operating in regular jar mode.
However, when I operate in Native mode, the code can't make heads or tails of the objects from the dependency, typically throwing fits when de/serialization happens:
Caused by: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class com.ebp.openQuarterMaster.lib.core.rest.ErrorMessage and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS)
I have tests running that confirm this (and seen in practice); when running in dev/ jar mode everything is fine. Native is a no-go. Is there anything I am missing on how to bring in non-jandex dependencies? I have attempted jandex plugins before but never seen them actually function.
To be clear:
./gradlew test
-> works fine
./gradlew testNative
-> fails
If testing for yourself, you will need to publish the dependency locally before attempting the quarkus app using ./gradlew publishToMavenLocal
: https://github.com/Epic-Breakfast-Productions/OpenQuarterMaster/tree/main/software/libs/open-qm-core
Upvotes: 1
Views: 702
Reputation: 26
Quarkus Native not includes external dependencies. You needs to include by yourself
Upvotes: 1