slf4j и classpath
От: pva  
Дата: 04.05.22 16:45
Оценка:
Привет,

столкнулся с проблемой что slf4j не находит реализацию.
Тоесть, вот такие вот вызовы

java -jar test.jar
java -cp . -jar test.jar
java -cp "./slf4j-api-1.7.36.jar:./slf4j-simple-1.7.36.jar" -jar test.jar

выдают

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

При этом такой вот вызов

java -Xbootclasspath/a:"./slf4j-api-1.7.36.jar:./slf4j-simple-1.7.36.jar" -jar test.jar

работает как положено, выводя лог в консоль.

Как? Это вообще нормально?
При этом в IntelliJ нормально все работает, но параметры вызова посмотреть не могу.
newbie
Отредактировано 04.05.2022 16:46 pva . Предыдущая версия .
Re: slf4j и classpath
От: vsb Казахстан  
Дата: 04.05.22 16:48
Оценка: 4 (1) +1
-cp и -jar это взаимно исключающие друг друга опции.

Либо запускай java -cp test.jar:lib1.jar:lib2.jar my.pckg.Main либо прописывай Class-Path: lib1.jar lib2.jar в test.jar!/META-INF/MANIFEST.MF и запускай через -jar test.jar либо перепаковывай все используемые библиотеки в один uberjar (и запускай через -jar test-uber.jar). Есть ещё варианты с module path, но не буду усложнять.

pva>При этом в IntelliJ нормально все работает, но параметры вызова посмотреть не могу.


Странно, что не можешь, обычно в окошке с выводом программы полная команда вызова пишется первой строкой.
Отредактировано 04.05.2022 17:15 vsb . Предыдущая версия . Еще …
Отредактировано 04.05.2022 17:15 vsb . Предыдущая версия .
Отредактировано 04.05.2022 16:54 vsb . Предыдущая версия .
Отредактировано 04.05.2022 16:54 vsb . Предыдущая версия .
Отредактировано 04.05.2022 16:52 vsb . Предыдущая версия .
Отредактировано 04.05.2022 16:52 vsb . Предыдущая версия .
Отредактировано 04.05.2022 16:51 vsb . Предыдущая версия .
Re[2]: slf4j и classpath
От: pva  
Дата: 04.05.22 17:34
Оценка:
Здравствуйте, vsb, Вы писали:

Да, манифест не обновился после добавления зависимости.
newbie
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.