web-dev-qa-db-ja.com

Javaの場合、google protobufで「オプションの繰り返し」

Javaを使用したGoogle Protobufを使用しています。私は次のような声明を書きました

optional repeated   string  users = 9;

コンパイルしようとすると、次のようなエラーが発生します

message.proto:39:57: Missing field number.

私が欲しかったのは、文字列の配列を作成することだけでした。

誰かがそれを解決するのを手伝ってくれる?.

PS:オプションのキーワードを回避した場合、それはコンパイルされますが、Javaの場合、com.google.protobuf.ProtocolStringList

前もって感謝します

26
Harikrishnan

あなたに必要なのは:

repeated string users = 9;

optional修飾子は必要ありません。パーサーを混乱させるようです。 repeatedフィールドは本質的にoptionalです:あなた値を追加しないでください

はどうかと言うと com.google.protobuf.ProtocolStringList:使用している.protoコンパイラ(protoc)のバージョンが、使用しているライブラリのバージョンと完全に一致していることを確認してください。

37
Marc Gravell