【发布时间】:2021-12-24 22:28:27
【问题描述】:
我有一个 quarkus 应用程序https://github.com/Epic-Breakfast-Productions/OpenQuarterMaster/tree/main/software/open-qm-base-station,它依赖于我在本地创建和构建的依赖项(它在本地 maven 存储库中可用)。我已经采取了必要的步骤来使用 Quarkus(空的 beans.xml 文件),并且在常规 jar 模式下运行时工作正常。
但是,当我在 Native 模式下操作时,代码无法从依赖项中生成对象的头部或尾部,通常在反序列化发生时会抛出配合:
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)
我正在运行的测试证实了这一点(并在实践中看到);在 dev/jar 模式下运行时,一切都很好。原生是不行的。关于如何引入非 jdex 依赖项,我有什么遗漏吗?我之前尝试过 jandex 插件,但从未见过它们真正起作用。
要明确:
./gradlew test -> 工作正常
./gradlew testNative -> 失败
如果您自己进行测试,您需要先在本地发布依赖项,然后再使用 ./gradlew publishToMavenLocal:https://github.com/Epic-Breakfast-Productions/OpenQuarterMaster/tree/main/software/libs/open-qm-core 尝试 quarkus 应用程序
【问题讨论】:
标签: java dependencies quarkus quarkus-native