使用awssdk时报Proxy class defined by interfaces not found错误求助
遗漏配置项及问题排查点
- 配置文件路径拼写错误
你填写的配置文件路径为src/main/resource/,正确路径应为src/main/resources/(末尾多一个s),路径错误会导致GraalVM构建时无法读取到代理配置文件,配置直接失效。 - 冗余的反射配置参数
你的构建参数中指定了-H:ReflectionConfigurationFiles=reflect-config.json,但你仅创建了动态代理配置文件,未提供对应的reflect-config.json时会导致整行构建参数加载失败,连带动态代理配置也不生效。不需要自定义反射配置时可以删除该部分参数,修改application.yaml为:
quarkus: native: additional-build-args: -H:DynamicProxyConfigurationResources=dynamic-proxy.json
- 未引入对应原生适配扩展
- 优先使用Quarkus官方维护的
quarkus-amazon-*系列AWS SDK扩展,扩展本身已内置所有GraalVM需要的代理、反射配置,无需自行编写配置文件 - 未使用官方扩展时需要额外引入
quarkus-apache-httpclient扩展,该扩展会自动处理Apache HTTP组件相关的原生镜像适配逻辑
- 优先使用Quarkus官方维护的
- 配置文件格式错误
检查dynamic-proxy.json为无BOM的UTF-8编码,且JSON语法无错误,格式错误会导致GraalVM直接忽略该配置文件 - 未清理旧构建缓存
修改原生构建配置后需要先执行mvn clean(Maven项目)或gradle clean(Gradle项目)清理旧构建产物,残留的缓存会导致新配置不生效
内容的提问来源于stack exchange,提问作者TamTam
相关产品推荐
相关产品推荐

