cdchenli 发表于 2017-6-29 22:57:29

grpc-java在Windows平台上的部署和开发

  【前言】 操作系统 :Windows 10    IDE :IntelliJ>
1、新建空的Maven工程(输入名称一路next即可 )
  点击finish后会为工程下载一些必要的插件,过程可能有点慢,取决于你的网速,
  
如果不想后面折腾,请耐心等他下载完成。
  

  所需插件下载完成后注意看右下角提示,pop.xml是当前工程的maven配置文件,
  
用于从远程maven仓库添加你需要的依赖。当pop.xml配置文件发生改变时,会有
  
此提示。建议选择import changes,选择enable auto-import的话会在你修改此
  
配置文件时自动添加依赖,个人觉得没有必要。

2、准备好相应的插件和构建工具

  因为grpc-java使用protocol buffer作为数据交换格式,所以要为IntelliJ>  
Protobuf Support插件,用于IDE支持:注意这里别选错Google Protocol Buffers
  
support插件了,这个插件虽然下载量很高,但还不支持proto3


3、添加jrpc和protocal buffer的相关maven依赖
  修改pop.xml文件,引入jrpc,目前1.0.1是最新版:
  

<properties>  <grpc.version>1.0.1</grpc.version><!-- CURRENT_GRPC_VERSION -->
  
</properties>
  
<dependencies>
  <dependency>
  <groupId>io.grpc</groupId>
  <artifactId>grpc-netty</artifactId>
  <version>${grpc.version}</version>
  </dependency>
  <dependency>
  <groupId>io.grpc</groupId>
  <artifactId>grpc-protobuf</artifactId>
  <version>${grpc.version}</version>
  </dependency>
  <dependency>
  <groupId>io.grpc</groupId>
  <artifactId>grpc-stub</artifactId>
  <version>${grpc.version}</version>
  </dependency>
  
</dependencies>
  

  修改pop.xml文件,引入构建工具:
  

<build>  <extensions>
  <extension>
  <groupId>kr.motd.maven</groupId>
  <artifactId>os-maven-plugin</artifactId>
  <version>1.4.1.Final</version>
  </extension>
  </extensions>
  <plugins>
  <plugin>
  <groupId>org.xolstice.maven.plugins</groupId>
  <artifactId>protobuf-maven-plugin</artifactId>
  <version>0.5.0</version>
  <configuration>
  <protocArtifact>
  com.google.protobuf:protoc:3.1.0:exe:${os.detected.classifier}
  </protocArtifact>
  <pluginId>grpc-java</pluginId>
  <pluginArtifact>
  io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier}
  </pluginArtifact>
  </configuration>
  <executions>
  <execution>
  <goals>
  <goal>compile</goal>
  <goal>compile-custom</goal>
  </goals>
  </execution>
  </executions>
  </plugin>
  </plugins>
  
</build>
  

  注意:protoc的版本必须匹配protobuf-java。 由于上面protobuf-java的版本是
  
依赖grpc的,所以这里直接使用jrpc的版本号就可以了。
  修改完pop.xml文件后,点击右下角的import changes,开始从maven远程下载
  
依赖的库。这个过程同样有些长,取决于网络。如果不想后面折腾,请耐心等候
  
下载完成。

  一直到这里其实都是为jrpc开发做准备的配置工作。

4、编写*.proto文件:
  
新建一个proto目录,然后创建helloworld.proto文件
  

syntax = "proto3";  

  
option java_multiple_files = true;
  
option java_package = "io.grpc.examples.helloworld";
  
option java_outer_classname = "HelloWorldProto";
  
option objc_class_prefix = "HLW";
  

  
package helloworld;
  

  
service Greeter {
  rpc SayHello (HelloRequest) returns (HelloReply) {}
  
}
  

  
message HelloRequest {
  string name = 1;
  
}
  

  
message HelloReply {
  string message = 1;
  
}
  

5、编译proto文件
  右键工程——>Maven——>Generate source and Update folders
  编译生成的代码在target目录下,因为maven将开发环境和源代码进行隔离,这种
  
默认的良好习惯会保证代码不混乱:


6、编写Server和Client:



5、Run Hello World!
  启动Server:


  客户端请求:


  
注: 如果在运行或编译过程中出现任何java版本的问题请检查
  
1:Project Structure里确认两个地方:Project sdk以及project language level
  
2:Project Structure->Modules里Sources里的Language level
  
3:Setting->java Compiler->Project/module target bytecode Version
  
这三个地方需要一致
页: [1]
查看完整版本: grpc-java在Windows平台上的部署和开发