трансформировать код прямо в текущем процессе?
есть либа в виде внешнего jar-файла без исходников. в либе баг. способ исправления бага понятен.
хочется прямо при старте приложения вносить исправления перед/после загрузки класса класс-лоадером без изменения строки запуска (без добавления -javaagent).
толкните в нужном направлении, пожалуйста.
звучит как-то сложно а нету возможности просто фиксить баг в том самом коде ? ):
Что-то через рефлексию и проксирование можно обойти
к сожалению нет. вендору баг репортили еще 2 года назад. "да-да, мы поправим. когда-нибудь, когда нам будет на это не похер"
А чем плохо просто использовать патченый jar, а не то, что вам выдал вендор? Или вы не контролируете, как он попадает в classpath?
Кроме одноразового напряжения опсов для выкладывания его на нексус - вроде ничего плохого. Ну, до тех пор, пока вендор таки не выкатит обновление, но думаю, там за 3 года столько брейкинг чейнджей будет, что это останется самой малой проблемой
Ну обновление не будет простым в любом случае) А использовать одну правильную версию по всей компании без дополнительных хаков в рантайме мне видится более хорошим решением, чем эти самые хаки
Обсуждают сегодня