Тест для предотвращения java.lang.NoClassDefFoundError

Я только что исправил java.lang.NoClassDefFoundError во время загрузки сервера в моем коде Scala, вызванный несовместимыми библиотеками. Есть ли способ написать тест для исключения таких ошибок, например, путем принудительной загрузки всех классов в пути к классам?

Как несовместимые библиотеки вызывают NoClassDefFoundError? Я могу понять, был ли это MethodNotFoundError, поскольку разные версии классов могут перезаписывать друг друга в пути к классам.

killjoy 16.04.2018 16:02

Я думаю, что класс, вызывающий эту ошибку, был удален в более поздних версиях библиотеки, но от этого зависит старый код в другой библиотеке.

js. 16.04.2018 16:52

В этом есть смысл. Если вы можете заполучить старую библиотеку, вы можете переместить ее с помощью плагина тени в своем сценарии сборки. Таким образом, вы можете использовать две версии одной и той же библиотеки.

killjoy 16.04.2018 17:02
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
3
65
1

Ответы 1

Это не может быть решено с помощью модульного теста, поскольку модульный тест, возможно, работает с другим путем к классам. Лучшее, что вы можете сделать, - это привести к сбою сборки в случае конфликта версий. Это возможно с любым инструментом сборки.

Другие вопросы по теме