Maven затеняет два исполнения с разными log4j.properties

У меня есть модуль, который создает две банки на основе двух теневых исполнений. Я хочу, чтобы каждый из них связывал разные файлы log4j.properties в банке. У меня есть следующий трансформер каждого из исполнений в моем pom.xml:

<transformer implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer">
<resource>log4j.properties</resource>
<file>log4j-ONE.properties</file>
</transformer>

В итоге я получаю файлы log4j в обоих моих банках и ни один из них не использует их. Можно ли настроить преобразователь так, чтобы каждое из выполнений включало только соответствующий файл log4j-xxx.properties (переименованный в log4j.properties, чтобы log4j использовал его)?

Конечная цель - сделать так, чтобы каждый из jar-файлов записывался в разные файлы журнала, и я не могу найти более простой способ сделать это.

1 ответ

Решение

Тегресурса в конфигурации плагина shade начинает поиск содержимого из корня пакета (корень вашего jar-файла... целевой папки ecc), а тег файла начинается с корня вашего проекта maven. Поэтому, если вы поместили log4j-ONE.properties в папку ресурсов, объясните поведение.

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