Quarkus多模块项目中的ClassCastException

时间:2020-01-24 16:48:59

标签: quarkus

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

我正在使用Maven。我可以确认在使用流道或进行测试时不会出现此问题。我创建了一个示例应用程序来重现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。

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

1 个答案:

答案 0 :(得分:0)

这可能是类加载器问题。我们在master中有一个全新的类加载器设计,它将用于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中进行更改。

感谢检查。