协议缓冲区 - 仅生成OuterClasses

时间:2017-10-25 02:09:43

标签: protocol-buffers protoc

我正在尝试从几个原型文件生成java源文件。

我正在使用Ubuntu 17.04。

我使用以下shell脚本来执行此操作:

for i in ./src/main/proto/my-protos; do
    [ -f "$i" ] || break
    protoc -I= ./src/main/proto/my-protos/ --java_out=./src/main/java/my/java/project ./$i  2>&1
done

我还尝试了以下内容,其中指定了protoc-gen-grpc-java插件:

protoc --plugin=./target/protoc-plugins/protoc-gen-grpc-java-1.4.0-linux-x86_64.exe --proto_path=./src/main/proto/my-protos/ --java_out=./src/main/java ./src/main/proto/my-protos/*.proto

在这两种情况下结果都是一样的。

问题是,这些命令只生成XXXOuterClass.java文件。没有生成服务类,消息或存根。

如何使用protoc生成所有java类?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。

使用 protoc-jar-maven-plugin - 请参阅https://github.com/os72/protoc-jar-maven-plugin/issues/47