【问题标题】:Grpc cannot resolve symbol GreeterGrpcGrpc 无法解析符号 GreeterGrpc
【发布时间】:2017-11-05 20:45:08
【问题描述】:

我正在点击链接https://github.com/grpc/grpc-java/tree/master/examples/src/main/java/io/grpc/examples/helloworld 来尝试让 grpc 正常工作。

这是最终的文件夹结构。

而我的HelloWorldServer.java和https://github.com/grpc/grpc-java/blob/master/examples/src/main/java/io/grpc/examples/helloworld/HelloWorldServer.java一样,只是包名不同。

但 Intellij 告诉它无法解析符号 GreeterGrpc。

有人可以帮我离开这里吗?

【问题讨论】:

    标签: java grpc


    【解决方案1】:

    注意GreeterGrpc.javagenerated-sources 之下, 但 IntelliJ 不知道它是一个源文件。

    我看到target/generated-sources/protobuf/java 被标记为生成源根目录,但target/generated-sources/protobuf/grpc-java 不是。 通常 IntelliJ 会从 pom.xml 中的配置中选择它。 也许你没有在那里正确配置一些东西。 您可以尝试通过右键单击pom.xml 重新导入 Maven 模块, 并选择 Maven,然后选择 Reimportgrpc-java 的图标应该变成带齿轮的蓝色, 像java 在同一目录级别。

    如果这不起作用, 那么您可以手动将grpc-java 标记为生成的源根目录: 右键单击它,选择Mark Directory as,然后选择Generated Sources Root

    【讨论】:

      【解决方案2】:

      Protobuf 插件假定 Protobuf 文件 (*.proto) 在 sourceSets 中的组织方式与 Java 源文件相同。 sourceSet 的 Protobuf 文件在单个 protoc 运行中编译,生成的文件将添加到该 sourceSet () 的 Java 编译运行的输入中。

      sourceSets {
          main {
              java {
                  srcDirs 'build/generated/source/proto/main/grpc'
                  srcDirs 'build/generated/source/proto/main/java'
              }
          }
      }
      

      感谢@https://medium.com/@DivyaJaisawal/generate-java-code-from-proto-file-using-gradle-1fb9fe64e046

      【讨论】:

        猜你喜欢
        • 2018-11-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-02-04
        • 2016-12-31
        • 1970-01-01
        相关资源
        最近更新 更多