Quarkus 多模块项目中的 ClassCastException

ClassCastException in Quarkus multi-module project

我的问题似乎与 ClassCastException in multi-module project running on Quarkus (gradle) 类似。

不过,我正在使用 maven。我可以确认在使用 运行ner 或测试时不会出现该问题。我创建了一个示例应用程序来重现 https://github.com/AmsterdamFilho/quarkus-poc.

中的问题

如果您 运行 处于开发模式的应用程序并使用 swagger-ui 或 curl 执行端点,您会得到异常:

Caused by: java.lang.ClassCastException: class br.com.quarkus.poc.AnimalKindService_ClientProxy cannot be cast to class br.com.quarkus.poc.AnimalKindService (br.com.quarkus.poc.AnimalKindService_ClientProxy is in unnamed module of loader 'app'; br.com.quarkus.poc.AnimalKindService is in unnamed module of loader io.quarkus.runner.RuntimeClassLoader @7c6908d7)

Quarkus 版本为 1.1.1。

任何解决方法将不胜感激。

这可能是 class 加载程序问题。我们在 master 中有一个全新的 class 加载器设计,它将出现在 Quarkus 1.3 中(大约一个月后)。

如果您使用的是 master,请问您的问题是否已解决?

您可以使用 mvn clean install -DskipTests -DskipITs 在本地构建它,然后使用 999-SNAPSHOT 作为版本,或者我们在此处发布快照:https://oss.sonatype.org/content/repositories/snapshots/io/quarkus/ .

注意:您将需要使用 quarkus-bom 来进行此测试,因此如果您指向 quarkus-universe-bom.

,请在 pom 中更改它

感谢查看。