IllegalAccessError: попытался получить доступ к методу org.apache.avro.specific.SpecificData. <init>() - PullRequest
1 голос
/ 18 июня 2019

Использование Avro для сериализации данных в байты [] и десериализации данных. https://cwiki.apache.org/confluence/display/AVRO/FAQ#FAQ-HowcanIserializedirectlyto/fromabytearray? показывает пример использования.

SpecificDatumReader<User> reader = new SpecificDatumReader<User>(User.getClassSchema());

Приведенная выше строка вызывает следующую ошибку

IllegalAccessError: tried to access method org.apache.avro.specific.SpecificData.<init>() from class com.abc.schema.generated.User

Есть какие-нибудь указатели на то, что здесь может пойти не так? Во время компиляции ошибок не обнаружено.

1 Ответ

0 голосов
/ 05 июля 2019

Вероятно, это связано с тем, что в вашем classpath установлена ​​более старая версия Avro. Чтобы проверить, запустите вашу программу с параметром -verbose:class и посмотрите на SpecificData в выводе. Пример:

 java -verbose:class -jar your_jar.jar
...