协议缓冲区 - 只生成 OuterClasses

Protocol buffers - only generating OuterClasses

我正在尝试从几个原始文件生成 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 类?

我找到了解决方案。

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