Библиотека, выдающая java.lang.NoClassDefFoundError

У меня есть внутренняя библиотека, размещенная в репозитории maven. И он успешно загружается, и я могу получить к нему доступ. Но как только я запускаю код, он вылетает, говоря, что библиотека для модернизации, которую использует моя библиотека, не может быть найдена.

Хотя сборка прошла успешно при развертывании внутренней библиотеки, и она работает, когда я запускаю ее через код библиотеки, включая ее как подмодуль, а не как зависимость от maven.

РЕДАКТИРОВАТЬ

В порядке. Итак, я смог исправить сбой, включив библиотеку модернизации в мой основной проект в качестве зависимости (что было странно)

Но теперь меня смущают «реализация» и «api» в файле Gradle. Мое понимание заключалось в том, что если я построил библиотеку с использованием модернизации в качестве «реализации», то сделаю доступной мою библиотеку через maven. Эта модифицированная библиотека будет доступна, когда некоторые будут использовать мою библиотеку. Но похоже, что если вы используете «реализацию», вы также должны явно включить эту модифицированную библиотеку в зависимость вашего проекта.

Должен ли я использовать «api», чтобы моя библиотека автоматически включала дооснащение, чтобы основной проект не требовал его добавления?

отправьте свой аварийный журнал.

Masoud Mokhtari 10.12.2018 07:56

Обычно это происходит, когда вам также необходимо добавить библиотеку модернизации в файл gradle вместе с вашей библиотекой в ​​вашем проекте студии Android.

mnp343 10.12.2018 08:09

@ mnp343 Да, есть какое-нибудь решение для этого? Но я использую реализацию. Так что я подумал, что это не должно быть проблемой.

Farooq Arshed 10.12.2018 08:17

@ mnp343 Не могли бы вы увидеть мои изменения и комментарии, если вы хоть немного об этом знаете.

Farooq Arshed 10.12.2018 11:30

«Но похоже, что если вы используете« реализацию », вы также должны явно включить эту модифицированную библиотеку в зависимость вашего проекта» Нет.

m0skit0 10.12.2018 11:31
0
5
48
0

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