Witam,
mam pewien problem z wygenerowanym fat jarem za pomocą Maven-Assembly-Plugin. Błąd jest nie do końca dla mnie zrozumiały i wyczerpałem swoje pomysły,
dlatego postanowiłem poprosić o pomoc bardziej doświadczonych kolegów.
Mam projekt w Javia + Maven. Wykorzystuje inne zewnętrzne biblioteki w tym Apache Camel, choć nie wiem, czy to ma znaczenie.
Podczas zwykłego uruchomienia w IntelijIDEA, wszystko jest ok, 0 błędów.
Problem pojawia się już po wygenerowaniu fat jara. Gdy uruchamiam go już na wstępie dostaję 2 Warningi:
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in: BOOT-INF/classes!/org/slf4j/impl/StaticLoggerBinder.class
SLF4J: Found binding in: BOOT-INF/lib/slf4j-log4j12-1.7.30.jar!/org/slf4j/impl/StaticLoggerBinder.class
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory
W pom.xml mam:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.32</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.6.1</version>
</dependency>
slf4j-api automatycznie zaciąga org.slf4j:slf4j-api
W samej aplikacji bezpośrednio korzystam z Log4j.
Gdzie może tkwić problem? Jedyne co mi przychodzi to fakt, że ja korzystam z log4j bezpośrednio, a np Apache Camel z slf4j, ale czy to może być przyczyną?
//Edit - dodatkowe informacje:
Korzystałem z mvn clean dependency:tree i szukałem po frazach "log" "slf" I nie znalazło mi nic prócz tych wyżej wymienionych.
Aplikacja korzysta z komponentów Springa, ale jest to zwykła javowa - bez adnotacji SpringBootApplication, zwykły public static void main (nie wiem, jak to inaczej nazwać, więc przepraszam za takie wyjaśnienie)
Za pomoc z góry dziękuje.