web-dev-qa-db-fra.com

'facultatif répété' avec google protobuf pour Java

J'utilise Google Protobuf en utilisant Java. J'ai écrit une déclaration comme

optional repeated   string  users = 9;

Quand j'ai essayé de compiler, j'obtiens une erreur comme

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

Tout ce que je voulais, c'était créer un tableau de chaînes.

Quelqu'un peut-il m'aider à le résoudre?.

PS: Si j'ai évité le mot-clé facultatif, il se compile mais en Java je reçois une erreur de classe non trouvée pour com.google.protobuf.ProtocolStringList

Merci d'avance

26
Harikrishnan

Tout ce dont tu as besoin c'est:

repeated string users = 9;

Vous n'avez pas besoin du modificateur optional, et il semble que cela déroute l'analyseur. Un champ repeated est intrinsèquement optional: vous n'ajoutez simplement aucune valeur.

Pour ce qui est de com.google.protobuf.ProtocolStringList: vérifiez que la version du compilateur .proto (protocole) que vous utilisez correspond exactement à la version de la bibliothèque que vous utilisez.

37
Marc Gravell