Проверьте ошибку при компиляции .proto с другой версией протобуфера

Я скомпилировал файл .proto, используя версию — libprotoc 2.5.0, и обновил соответствующий java-файл до моей сборки, в которой есть соответствующая версия protobuff jar — libprotoc2.4.1. Теперь, когда я запускаю сборку, я получаю следующую ошибку в журналах

java.lang.verifyerror

Я просто предполагаю, что причиной ошибки является файл proto, скомпилированный для другой версии protobuffer. Так почему же файл Java не имеет обратной совместимости с более ранними версиями протобуферов?

Я также пытался заменить банку protobuff 2.4.1 в сборке на 2.5.0, но это не работает!


person Aarish Ramesh    schedule 20.01.2014    source источник


Ответы (1)


Более новые версии protoc генерируют код, использующий новые функции библиотеки, недоступные в более старых версиях библиотеки. Таким образом, вы должны использовать одну и ту же версию protoc и libprotobuf.jar. (Я не знаю, почему это не работает после обновления банки.)

person Kenton Varda    schedule 21.01.2014