我有一个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
Quarkus Native不包含外部依赖。需要自己包含
链接到SoF响应