Я использую плагин maven-assembly-plugin
для компиляции толстого фляги. У меня log4j2
и эти зависимости в моем pom.xml
:
<dependencies>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.11.0</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.11.0</version>
</dependency>
<dependency>
<groupId>com.sumologic.plugins.log4j</groupId>
<artifactId>sumologic-log4j2-appender</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.2</version>
</dependency>
</dependencies>
Когда я настраиваю регистратор в XML-файле log4j, я указываю SumoAppender и приложение вывода на консоль.
Когда я запускаю основное приложение через mvn exec:java
, приложение SumoLogic работает.
Однако, когда я компилирую толстый флягу и запускаю приложение через java -jar fatjar.jar
, SumoLogic Appender вообще не запускается, и нет никакой ошибки, которая получает вывод.
Я проверил, что класс существует в моем приложении, используя Class.forName("com.sumologic.log4j.SumoLogicAppender")
, и пакет действительно существует.
Кто-нибудь знает, что происходит?