提问者:小点点

QUKUS、Gradle和外部依赖;来自外部依赖的对象仅在本机模式下不可序列化


我有一个Quarkus应用程序,https://github.com/Epic-Breakfast-Productions/OpenQuarterMaster/tree/main/software/open-qm-base-station依赖于我在本地创建和构建的依赖项(它在本地maven repo中可用)。我已经采取了必要的步骤来使用Quarkus(空bean. xml文件),并且在常规jar模式下运行时工作正常。

但是,当我在Native模式下操作时,代码无法从依赖项中制作对象的头部或尾部,通常会在反序列化发生时引发配合:

由: com.fasterxml.jackson.datind.exc.InvalidDefitionException引起:没有找到类com.ebp.openQuarterMaster.lib.core.rest的序列化程序。ErrorMessage和没有发现创建BeanSerializer的属性(为了避免异常,禁用SerializationFeature.FAIL_ON_EMPTY_BEANS)

我运行的测试证实了这一点(并在实践中看到);当在开发/jar模式下运行时,一切都很好。原生是一个禁忌。关于如何引入非jandex依赖项,我还缺少什么吗?我以前尝试过jandex插件,但从未见过它们实际运行。

明确一点:

./gradlew测试-

./gradlew testNative-

如果自己进行测试,您需要在使用尝试quakus应用程序之前在本地发布依赖项。/gradlew发布ToMavenLocal:https://github.com/Epic-Breakfast-Productions/OpenQuarterMaster/tree/main/software/libs/open-qm-core


共1个答案

匿名用户

Quarkus Native不包含外部依赖。需要自己包含

链接到SoF响应