$ mvn clean package
$ git add -A
$ git commit -m "modify proto"
$ git status target/generated-sources/protobuf
On branch master
Changes to be committed:
(use "git restore --staged ..." to unstage)
new file: target/generated-sources/protobuf/java/com/example/grpc/EchoService.java
modified: target/generated-sources/protobuf/java/com/example/grpc/EchoServiceOuterClass.java
target/generated-sources/protobufの配下を見てみると、
EchoService.javaが新規作成されて
EchoServiceOuterClass.javaが変更されていた
EchoService.javaを見てみる
EchoService.java全文
// Generated by the protocol buffer compiler. DO NOT EDIT!// source: EchoService.proto// Protobuf Java Version: 3.25.3packagecom.example.grpc;/**
* Protobuf service {@code com.example.grpc.EchoService}
*/publicabstractclassEchoServiceimplementscom.google.protobuf.Service{protectedEchoService(){}publicinterfaceInterface{/**
* rpc echo(.com.example.grpc.EchoRequest) returns (.com.example.grpc.EchoResponse);
*/publicabstractvoidecho(com.google.protobuf.RpcControllercontroller,com.example.grpc.EchoRequestrequest,com.google.protobuf.RpcCallbackcom.example.grpc.EchoResponse>done);}publicstaticcom.google.protobuf.ServicenewReflectiveService(finalInterfaceimpl){returnnewEchoService(){@java.lang.Overridepublicvoidecho(com.google.protobuf.RpcControllercontroller,com.example.grpc.EchoRequestrequest,com.google.protobuf.RpcCallbackcom.example.grpc.EchoResponse>done){impl.echo(controller,request,done);}};}publicstaticcom.google.protobuf.BlockingServicenewReflectiveBlockingService(finalBlockingInterfaceimpl){returnnewcom.google.protobuf.BlockingService(){publicfinalcom.google.protobuf.Descriptors.ServiceDescriptorgetDescriptorForType(){returngetDescriptor();}publicfinalcom.google.protobuf.MessagecallBlockingMethod(com.google.protobuf.Descriptors.MethodDescriptormethod,com.google.protobuf.RpcControllercontroller,com.google.protobuf.Messagerequest)throwscom.google.protobuf.ServiceException{if(method.getService()!=getDescriptor()){thrownewjava.lang.IllegalArgumentException("Service.callBlockingMethod() given method descriptor for "+"wrong service type.");}switch(method.getIndex()){case0:returnimpl.echo(controller,(com.example.grpc.EchoRequest)request);default:thrownewjava.lang.AssertionError("Can't get here.");}}publicfinalcom.google.protobuf.MessagegetRequestPrototype(com.google.protobuf.Descriptors.MethodDescriptormethod){if(method.getService()!=getDescriptor()){thrownewjava.lang.IllegalArgumentException("Service.getRequestPrototype() given method "+"descriptor for wrong service type.");}switch(method.getIndex()){case0:returncom.example.grpc.EchoRequest.getDefaultInstance();default:thrownewjava.lang.AssertionError("Can't get here.");}}publicfinalcom.google.protobuf.MessagegetResponsePrototype(com.google.protobuf.Descriptors.MethodDescriptormethod){if(method.getService()!=getDescriptor()){thrownewjava.lang.IllegalArgumentException("Service.getResponsePrototype() given method "+"descriptor for wrong service type.");}switch(method.getIndex()){case0:returncom.example.grpc.EchoResponse.getDefaultInstance();default:thrownewjava.lang.AssertionError("Can't get here.");}}};}/**
* rpc echo(.com.example.grpc.EchoRequest) returns (.com.example.grpc.EchoResponse);
*/publicabstractvoidecho(com.google.protobuf.RpcControllercontroller,com.example.grpc.EchoRequestrequest,com.google.protobuf.RpcCallbackcom.example.grpc.EchoResponse>done);publicstaticfinalcom.google.protobuf.Descriptors.ServiceDescriptorgetDescriptor(){returncom.example.grpc.EchoServiceOuterClass.getDescriptor().getServices().get(0);}publicfinalcom.google.protobuf.Descriptors.ServiceDescriptorgetDescriptorForType(){returngetDescriptor();}publicfinalvoidcallMethod(com.google.protobuf.Descriptors.MethodDescriptormethod,com.google.protobuf.RpcControllercontroller,com.google.protobuf.Messagerequest,com.google.protobuf.RpcCallbackcom.google.protobuf.Message>done){if(method.getService()!=getDescriptor()){thrownewjava.lang.IllegalArgumentException("Service.callMethod() given method descriptor for wrong "+"service type.");}switch(method.getIndex()){case0:this.echo(controller,(com.example.grpc.EchoRequest)request,com.google.protobuf.RpcUtil.com.example.grpc.EchoResponse>specializeCallback(done));return;default:thrownewjava.lang.AssertionError("Can't get here.");}}publicfinalcom.google.protobuf.MessagegetRequestPrototype(com.google.protobuf.Descriptors.MethodDescriptormethod){if(method.getService()!=getDescriptor()){thrownewjava.lang.IllegalArgumentException("Service.getRequestPrototype() given method "+"descriptor for wrong service type.");}switch(method.getIndex()){case0:returncom.example.grpc.EchoRequest.getDefaultInstance();default:thrownewjava.lang.AssertionError("Can't get here.");}}publicfinalcom.google.protobuf.MessagegetResponsePrototype(com.google.protobuf.Descriptors.MethodDescriptormethod){if(method.getService()!=getDescriptor()){thrownewjava.lang.IllegalArgumentException("Service.getResponsePrototype() given method "+"descriptor for wrong service type.");}switch(method.getIndex()){case0:returncom.example.grpc.EchoResponse.getDefaultInstance();default:thrownewjava.lang.AssertionError("Can't get here.");}}publicstaticStubnewStub(com.google.protobuf.RpcChannelchannel){returnnewStub(channel);}publicstaticfinalclassStubextendscom.example.grpc.EchoServiceimplementsInterface{privateStub(com.google.protobuf.RpcChannelchannel){this.channel=channel;}privatefinalcom.google.protobuf.RpcChannelchannel;publiccom.google.protobuf.RpcChannelgetChannel(){returnchannel;}publicvoidecho(com.google.protobuf.RpcControllercontroller,com.example.grpc.EchoRequestrequest,com.google.protobuf.RpcCallbackcom.example.grpc.EchoResponse>done){channel.callMethod(getDescriptor().getMethods().get(0),controller,request,com.example.grpc.EchoResponse.getDefaultInstance(),com.google.protobuf.RpcUtil.generalizeCallback(done,com.example.grpc.EchoResponse.class,com.example.grpc.EchoResponse.getDefaultInstance()));}}publicstaticBlockingInterfacenewBlockingStub(com.google.protobuf.BlockingRpcChannelchannel){returnnewBlockingStub(channel);}publicinterfaceBlockingInterface{publiccom.example.grpc.EchoResponseecho(com.google.protobuf.RpcControllercontroller,com.example.grpc.EchoRequestrequest)throwscom.google.protobuf.ServiceException;}privatestaticfinalclassBlockingStubimplementsBlockingInterface{privateBlockingStub(com.google.protobuf.BlockingRpcChannelchannel){this.channel=channel;}privatefinalcom.google.protobuf.BlockingRpcChannelchannel;publiccom.example.grpc.EchoResponseecho(com.google.protobuf.RpcControllercontroller,com.example.grpc.EchoRequestrequest)throwscom.google.protobuf.ServiceException{return(com.example.grpc.EchoResponse)channel.callBlockingMethod(getDescriptor().getMethods().get(0),controller,request,com.example.grpc.EchoResponse.getDefaultInstance());}}// @@protoc_insertion_point(class_scope:com.example.grpc.EchoService)}
Starting with version 2.3.0, RPC implementations should not try to build on this, but should instead provide code generator plugins which generate code specific to the particular RPC implementation. com.google.protobuf Interface Service