GRPC无法解析符号GreeterGrpc

mgdq6dx1  于 2022-10-01  发布在  Java
关注(0)|答案(2)|浏览(284)

我在这里使用链接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。

有人能帮我离开这里吗?

vq8itlhq

vq8itlhq1#

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

我看到target/generated-sources/protobuf/java被标记为生成的源根,但target/generated-sources/protobuf/grpc-java没有。通常情况下,IntelliJ从pom.xml中的配置中获取此信息。也许您在那里没有正确配置某些内容。您可以尝试重新导入Maven模块,方法是右键单击pom.xml,然后选择Maven,然后选择重新导入grpc-java的图标应更改为带有齿轮的蓝色,如同一目录级别的java

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

8ljdwjyq

8ljdwjyq2#

Protobuf插件假定Protobuf文件(*.proto)在SourceSet中的组织方式与Java源文件相同。SourceSet的Protobuf文件在一次协议运行中被编译,生成的文件被添加到该SourceSet()的Java编译运行的输入。

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

相关问题