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

如何修改ScalaPB扫描protobuf文件的默认路径?

ScalaPB多模块项目protobuf路径配置方案

默认情况下ScalaPB仅会扫描根项目下的src/main/protobuf目录,多包(多模块)场景下需要手动修改PB.protoSources配置项,将子模块的protobuf路径加入扫描范围,两种常用配置方式如下:

全局统一适配所有子模块

直接在根目录的build.sbt中添加如下配置,自动遍历所有子模块的protobuf路径:

Compile / PB.protoSources ++= (ThisBuild / loadedBuild).value.allProjects
  .map(_.base / "src" / "main" / "protobuf")

单个子模块单独配置

如果是显式声明的子模块,可在对应子模块的配置中单独指定路径:

lazy val `你的包名` = (project in file("你的包名"))
  .settings(
    // 加入当前子模块的protobuf扫描路径
    Compile / PB.protoSources += baseDirectory.value / "src" / "main" / "protobuf",
    // 其他子模块配置项
  )
  • 如果需要适配测试环境的protobuf文件,将上述配置中的Compile替换为Test即可
  • 配置修改完成后执行sbt clean compile验证,生成的Scala代码默认存放在target/scala-[版本号]/src_managed/main目录下

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 05:36:03