开发服务端项目,我用的是win10系统,Intellij IDEA编译器。最近项目用到protobuf,所以首先必须搭建protobuf的开发环境。
安装Protobuf编译器
到Releases·google/protobuf下载protoc-version-your_platform.zip文件,我选择的是3.5.0版本的:protoc-3.5.0-win32.zip。下载后解压到相应目录,将bin目录(注意:全英文目录)添加到系统变量path中:
Protobuf编译器就此安装成功了:
现在就可以在window的命令行中执行protoc命令根据.proto文件自动生成对应的java类文件。
IDEA集成开发protobuf
1. 添加maven依赖
由于前面安装的protobuf compiler采用的是3.5.0版本,所以项目的依赖protobuf-java
(Protocol Buffers[Core])最好也采用一致的版本:
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>3.5.0</version>
</dependency>
2. 编写.proto文件
例子,写一个login.proto文件:
option java_package = "protobuf.generate.cli2srv.login";
option java_outer_classname = "Auth";
message CRegister {
required string userid = 1;
required string passwd = 2;
}
message CLogin {
required string userid = 1; // 用户账户id
required string passwd = 2; // 用户密码
optional string platform = 3; // 客户端平台:android,ios,web
optional string app_version = 4; // APP版本号
}
/*
code:
200 -- ok
404 -- error
300 -- dumplicated registery
*/
message SResponse {
required int32 code = 1; //返回码
required string desc = 2; //描述
}
其中,
option java_package = "protobuf.generate.cli2srv.login";
指定生成java类文件所在的包名。
option java_outer_classname = "Auth";
指定生成的java类的类名。
具体的.proto文件语法会另开文章研究学习。
3. 编写脚本一次性批量将.proto文件生成java类
我的.proto文件统一放在resources
目录下,在resources
根目录下编写一个proto.bat的脚本文件:
set OUT=../java # 输出生成的java文件根目录
set def_cli_java=(login chat) # 包含‘login’、‘chat’元素的数组变量
set def_internal_java=(internal) # 包含‘internal’元素的数组变量
# 将cli_def目录下的login.proto和chat.proto文件生成java类
for %%A in %def_cli_java% do (
echo generate cli protocol java code: %%A.proto
protoc --java_out=%OUT% ./cli_def/%%A.proto
)
# 将internal_def目录下的internal.proto文件生成java类
for %%A in %def_internal_java% do (
echo generate internal java code: %%A.proto
protoc --java_out=%OUT% ./internal_def/%%A.proto
)
pause
右键proto.bat文件,点击"Run cmd script"(注意:不是"Run 'proto'"):
执行成功,生成java类:
image.png
Chat.java
、Auth.java
和Internal.java
即我们项目中使用的protobuf类了。
4. IDEA安装Protobuf Support插件
Protobuf Support
插件的主要作用是对.proto文件进行语法检查和高亮显示。
在IDEA的settigns->plugins中搜索protobuf
并安装插件:
这样,.proto文件的内容就可以高亮显示了:
并且文件名前面会显示google的文件图标。
添加新建.proto文件的模板
new新建.proto文件时,发现是没有对应的.proto文件类型的:
我们可以创建新建文件模板,如下图,右键->New->Edit File Templates:
点击+(Create Template (Insert)):
命名为google protobuf,extension文件后缀为proto,并保存:
再次右键->New时,发现多了一个google protobuf文件类型,点击即可快速创建proto文件了:
至此,在window下安装和配置Intellij IDEA的protobuf开发环境完成了。
网友评论