Здесь я создал минимально воспроизводимый тестовый пример, который можно запустить следующим образом:
Код: Выделить всё
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