1

我尝试创建一个 gRPC 客户端。为了

val channel = ManagedChannelBuilder.forAddress(host, port).usePlaintext(true).build

我得到这个编译时错误

Error:(18, 87) value build is not a member of ?0
    val channel = ManagedChannelBuilder.forAddress(host, port).usePlaintext(true).build

gRPC 是为 Java 构建的。我的项目是多模块 maven 项目,其中 protobuf 文件和生成的代码位于单独的模块中。

4

2 回答 2

3

我设法通过添加冗余铸造解决了这个问题

 val channel = ManagedChannelBuilder
    .forAddress(host, port)
    .usePlaintext(true)
    .asInstanceOf[ManagedChannelBuilder[_]].build
于 2017-07-04T10:46:24.633 回答
0

你试过'.build()'吗?我对 scala 不太熟悉,但也许括号是用 Java 编写的库所必需的。如果它识别到 usePlaintext,那么 .build() 确实应该对返回的 ManagedChannelBuilder 有效:http: //www.grpc.io/grpc-java/javadoc/io/grpc/ManagedChannelBuilder.html#build--

于 2017-07-04T08:59:07.783 回答