Почему обновление Firebase-admin с 9.3 до 9.4 приводит к сбою Junit с ошибкой о затененном классе Hamcrest?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Почему обновление Firebase-admin с 9.3 до 9.4 приводит к сбою Junit с ошибкой о затененном классе Hamcrest?

Сообщение Anonymous »

Здесь я создал минимально воспроизводимый тестовый пример, который можно запустить следующим образом:

Код: Выделить всё

git clone https://github.com/fatso83/issue-reproductions
cd issue-reproductions/noclassdeffound_shaded_package
mvn test
В результате программа запуска тестов Surefire завершается с ошибкой java.lang.NoClassDefFoundError:shaded_package/org/hamcrest/SelfDescribing. То же самое происходит при работе в IntelliJ. Я обнаружил, что это вызвано тем, что я обновил firebase-admin с версии 9.3.0 до 9.4.0. Если я изменю эту зависимость на 9.3.0, проблема исчезнет, ​​но я не могу вечно оставаться на какой-то устаревшей версии, поэтому я хотел бы понять, почему это происходит и как мне следует с этим бороться. Это проблема в выпуске firebase-admin (что маловероятно?) или в том, как настроен проект (pom.xml)?
Поскольку ошибка, по-видимому, подразумевает библиотека Hamcrest была переписана с затенением/байт-кодом, я не знаю, означает ли это, что мне следует пометить это плагином maven-shade-plugin, но я решил не делать этого, так как был не уверен.

Подробнее здесь: https://stackoverflow.com/questions/790 ... with-an-er
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»