【发布时间】:2020-03-18 14:05:13
【问题描述】:
我使用 maven 插件“org.xolstice.maven.plugins”创建了 proto 生成的 java 文件 jar 文件。 它包含所有需要并导入到具有 maven 依赖项的项目中的 java 文件。没有编译问题。执行时出现 UNIMPLEMENTED 异常。
Caused by: io.grpc.StatusRuntimeException: UNIMPLEMENTED: Method not found!
at io.grpc.stub.ClientCalls.toStatusRuntimeException(ClientCalls.java:240)
at io.grpc.stub.ClientCalls.getUnchecked(ClientCalls.java:221)
at io.grpc.stub.ClientCalls.blockingUnaryCall(ClientCalls.java:140)
我尝试放置 protoc 生成的文件,它按预期工作。但我不希望这成为项目内部的 java 源代码。因为生成的源代码有非常大的 java 文件进行编译,所以每次构建都需要很长时间,所以我需要它作为一个 jar 文件。
【问题讨论】:
-
如果它编译但随后出现此错误,这意味着它正在类路径中找到该类的不同版本。如果您的 IDE 具有依赖项评估工具,那将有所帮助。否则,您可以在调试器中找到它。我建议您在失败的调用之前添加对同一类的不同调用,跟踪它,然后让您的 IDE 跳转以在项目或文件视图中显示您所在的文件。你可能会跳到一个你意想不到的地方,这会告诉你它是如何找到那个版本的课程的。
标签: java protocol-buffers grpc grpc-java proto