Maven иногда немного по голове... Я создал библиотеку, которая имеет необязательную зависимость от slf4j и log4j. По необязательным значениям я имею в виду:
- Моя библиотека нуждается в тех фреймворках регистрации во время компиляции
- Моя библиотека не нуждается в них во время выполнения, но если она "обнаруживает" их, они будут использовать их
В настоящее время я отметил эту зависимость как "необязательную" и "предоставленную":
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
<type>jar</type>
<scope>provided</scope>
<optional>true</optional>
</dependency>
Но некоторые из моих пользователей сообщили о проблемах, потому что им не нужен log4/slf4j. Правильно ли моя зависимость? К сожалению, я считаю официальную документацию слишком абстрактной, чтобы понять эту проблему.