GRPC-JAVA 之 Customer(基于 java)
一、环境:java EE IDE 、JDK1.8、maven 3.0.5
1、什么是 Maven?
Maven 是一个项目管理工具,主要用于项目构建,依赖管理,项目信息
管理。
2.下载及安装
下 载 最 新 版 Maven : apache-maven-3.2.1-bin.zip 。 官 网 下 载 :
http://maven.apache.org/download.cgi.(本人所用为 3.0.5)
3.下载完成后需配置环境变量,在此不再赘述。配置完成后在命令行输入
“mvn --version”,出现如下图所示即为成功:
4、下载完成后需配置到 eclipse 中:
打开 Eclipse,依次打开 Windows-->Prefrences,点击 Maven 的右边的
三角符号,以展开 Maven 的配置界面
之后,点击 Maven 下面的 Installations,出现如下界面,请点击 Add,即以下
红色圈出部分
之后,出现如下界面,请选择你的 Maven 的安装目录,这里我的 Maven
的安装目录为 D:\Java\apache-maven-3.0.5 ,选择你的 Maven 安装目录,
并点击确定, 之后可以点击 Apply,点击 OK,即可完成。
到此,环境已搭建好。可以进行开发了。
二、开发
1、创建一个新的 maven 项目:创建成功后,如图所示:
2、创建完成之后,修改 pom.xml,
1>向其中添加 gRPC-Java 的依赖:
io.grpc
grpc-netty
1.0.1
io.grpc
grpc-protobuf
1.0.1
io.grpc
grpc-stub
1.0.1
2>protoc 插件项(根据官方文档,添加如下):
kr.motd.maven
os-maven-plugin
1.4.1.Final
org.xolstice.maven.plugins
protobuf-maven-plugin
0.5.0
The version of protoc must match protobuf-java. If you
protobuf-java directly, you will be transitively
protobuf-java version that grpc depends on.
com.google.protobuf:protoc:3.0.2:exe:${os.detected.cl
assifier}
grpc-java
io.grpc:protoc-gen-grpc-java:1.0.1:exe:${os.detected.
classifier}
compile
compile-custom
下载不了相应的插件。
3、根据本人经验,进行插件配置的时候在节点
时报错,疑因被墙,
解决方法 1 :手动下载 protc 可执行程序
我们也可以自己从 github 上,去下载相应版本的 protoc。
https://github.com/google/protobuf/releases,找到 3.1 版本:
完成之后,解压,可以看到 bin 下的 exe 执行文件:
接着最后在我们的 pom.xml 中告诉 protobuf-maven-plugin 插件我们的可执
行程序的路径:
(解决方法 1 亲测失败)
解决方法 2:1>将下载好的 protoc.exe 配置好环境变量;
在命令行输入 protoc --version,得到如图所示即为成功:
2>并下载 jars,下载地址:
http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22io.grpc%22
%20AND%20v%3A%221.0.1%22
解压后如图所示:
将该程序也配置环境变量。
4、将写好的.proto 文件生成 .java 文件
--java_out=输出 java 文件的路径;
--proto_path=.proto 文件所在路径
在命令行输入
总是得到 Missing input file;
解决:
protoc ./Eclipse/WorkSpace/Customer_Sy/src/main/proto/customer.prot
o --java_out=G:/Grpc_CreateProto/create_xxxproto
protoc .proto 的绝对路径 --java_out=输出文件的路径
将该生成的.java 文件的文件夹复制到目录 src/main/java 下。
然后再执行命令行
protoc
--plugin=protoc-gen-grpc-java=D:/Android/protoc/protoc-gen-grpc-ja
va-1.0.1-windows-x86_64.exe
--grpc-java_out=C:/sb
--proto_path=G:/Eclipse/WorkSpace/Frist_Maven_Test/src/main/
G:/Eclipse/WorkSpace/Frist_Maven_Test/src/main/proto/user.proto