You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Netflix DGS Codegen无法从外部依赖Schema生成类问题排查

问题分析与解决方案

核心配置错误

你的application项目中,generateJava任务的配置存在两个关键问题:

  1. 显式设置schemaPaths覆盖了默认扫描范围
    当手动指定schemaPaths = ["src/main/resources/schema"]时,DGS代码生成插件只会扫描你指定的本地目录,不会自动扫描dgsCodegen依赖中的Schema文件。

  2. 未启用依赖Schema扫描开关
    即使添加了dgsCodegen依赖,插件默认不会主动扫描依赖中的Schema,需要显式开启对应配置。

修正后的application项目build.gradle配置

修改generateJava任务部分:

generateJava {
    schemaPaths = ["src/main/resources/schema"] // 保留本地Schema目录
    packageName = "com.application.graphql.schemas"
    generateClient = true
    includeDependencySchemas = true // 新增:启用依赖中的Schema扫描
}

额外验证点

确保shared-schemas项目的Schema文件被正确打包到JAR中:

  • 检查本地Maven仓库中的shared-schemas-0.0.1-SNAPSHOT.jar,确认里面包含/schema/shared-models.graphqls文件。
  • 如果缺失,可在shared-schemas的build.gradle中显式添加资源打包配置(java-library默认会处理,此为保险操作):
    sourceSets {
        main {
            resources {
                srcDirs = ["src/main/resources"]
            }
        }
    }
    

重新执行步骤

  1. 重新发布shared-schemas到本地仓库:./gradlew clean publishToMavenLocal
  2. 重新构建application项目:./gradlew clean build

此时,shared-models.graphqls中的模型会和本地Schema的模型一起生成到build/generated目录中。

内容的提问来源于stack exchange,提问作者SourceVisor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 22:05:15