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

ScalaPB gRPC项目运行报object is not a member of package错误求助

解决方案

  1. 修正导入路径
    你当前报错的核心原因是导入路径多写了一层helloworld。默认ScalaPB会以proto文件的package声明作为生成代码的包路径:如果你hello.proto中声明了package io.grpc.examples.helloworld,生成的所有类都会直接放在该包下,直接使用以下导入即可:
    import io.grpc.examples.helloworld.{你需要的类名}
    如果你要保留原有导入写法,可在build.sbt中修改PB.targets配置:
Compile / PB.targets := Seq(
  scalapb.gen(flatPackage = false) -> (Compile / sourceManaged).value / "scalapb"
)
  1. 验证代码生成逻辑正常
    先执行sbt clean compile命令,编译完成后检查target/scala-2.13/src_managed/main/scalapb/io/grpc/examples/helloworld路径下是否存在生成的Scala代码文件。如果没有生成,检查project/scalapb.sbt是否配置了正确的插件依赖:
addSbtPlugin("com.thesamet" % "sbt-protoc" % "1.0.6")
libraryDependencies += "com.thesamet.scalapb" %% "compilerplugin" % scalapb.compiler.Version.scalapbVersion
  1. 检查proto文件配置
    确认src/main/protobuf/hello.proto中正确声明了package配置,没有拼写错误:
syntax = "proto3";
package io.grpc.examples.helloworld;

// 后续服务和消息定义

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 03:27:02