Загрузка загрузчика классов неверна log4j.xml - PullRequest
0 голосов
/ 13 сентября 2018

У меня есть проект Java Maven со структурой ниже

AA.ear
| _ lib
| _ parent_config.jar
| _ log4j.xml
| _ child_config.jar
| _ log4j.xml [this is expeccted to load]
| _ BB.war


Я использую log4j 1.2.For parent_config.jar - это проект зависимостей, который наследуется child_config.jar.У них обоих есть log4j.xml.Загрузчик классов все время читает log4j.xml из child_config.jar, но после обновления до Spring 4 он не работает должным образом.Получается загрузить log4j.xml из parent_config.xml.

Я попытался удалить log4j.xml из parent_config.jar с помощью 7zip, и в конце все работает как положено.Более того, ограничение здесь заключается в том, что я должен собирать parent_config.jar как обычно (без удаления log4j.xml), потому что он также используется другим проектом.И исключены подходы использования WEB-INF / lib и -Dlog4j.configuration

Могу ли я знать, есть ли какие-либо предложения по этой ситуации?

1 Ответ

0 голосов
/ 13 сентября 2018

В некоторых средах выполнения может быть возможно управлять порядком записей пути к классам.Но я бы не советовал.

Вы должны предоставить пользовательский файл конфигурации log4j с другим именем, отличным от log4j.xml и / или не находящийся в корне classpath, и сконфигурировать его через системное свойство log4j.configuration.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...