У меня есть Java-приложение, которое использует среду выполнения Business Objects Crystal для запуска отчета, закодированного в этой технологии. Проблема в том, что обезьяны в Crystal напрямую ссылались на метод в классе log4j 1.2. Этот метод не является частью API моста log4j 1.2-2.5. И не должно быть, потому что Кристалл не должен вызывать его напрямую.
У меня нет иного выбора, кроме как использовать Crystal, наша организация на нем заперта. Я могу только откатить все приложение, чтобы НЕ использовать log4j2.5, как все другие наши приложения, ИЛИ мне нужно найти способ, которым они могут сосуществовать. Когда я помещаю оба jar-файла в classpath, приложение запутывается в том, что загружать, и мы не выходим из системы. Удалите эту банку, и логирование отлично работает ... но Хрустальные бомбы.
Я действительно не хочу откатывать все обратно до 1.2. Есть ли способ заставить их сосуществовать красиво? Как сделать 1.2 выше на загрузчике классов только при вызове Crystal или что-то? Кто-нибудь знает какой-нибудь трюк, который может помочь мне здесь?