Задать вопрос
@InBackend

Возможно ли добавлять методы в пакет чужой библиотеки?

Я использовал библиотеку, раздатчики которой со скандалом разделились. Большинство ушло и создало форк, искусственно несовместимый с проектами, работавшими со старой библиотекой.
Можно ли добавить удаленные и переопределённые методы в пакет библиотеки из другой "программы"?
  • Вопрос задан
  • 128 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Java-разработчик с нуля
    12 месяцев
    Далее
  • Академия Эдюсон
    Java-разработчик + ИИ
    8 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Java-разработчик + ИИ
    9 месяцев
    Далее
Решения вопроса 1
opium
@opium
Просто люблю качественно работать
декомпилируй jar форка (cfr или fernflower), допиши методы, перепаки — самый прямой способ.

p.s. через java agent + Javassist можно патчить байткод при загрузке (ClassFileTransformer в premain), но только до того как класс загружен — после redefine методы не добавить
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@rPman
Самый тупой способ, создать библиотеку прослойку с методами, которые тебе нужны, которая подключает оригинальную библиотеку и вызывает все эти методы как надо.

jar файл это zip архив, внутри структура каталогов повторяет структуру namespace, имена файлов .class - это имена классов.

Получить структуру публичных методов класса:
javap -classpath mylib.jar -public com.example.MyClass


Написать такой класс прослойку автоматизированными методами сможет любой начинающий программист, ну или нейронку проси
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы