mam aplikację, która po uruchomieniu z Maven log4j2 to działa:konfiguracja Log4j2 Nie znaleziono podczas pracy samodzielnej aplikacji zbudował przez cień wtyczki
mvn exec:java -Dexec.args=...
ale gdy uruchomię słoik jako samodzielna aplikacja to pokazuje błąd:
java -jar
dziennika:
ERROR StatusLogger Unrecognized format specifier [d]
ERROR StatusLogger Unrecognized conversion specifier [d] starting at position 16 in conversion pattern.
ERROR StatusLogger Unrecognized format specifier [thread]
ERROR StatusLogger Unrecognized conversion specifier [thread] starting at position 25 in conversion pattern.
ERROR StatusLogger Unrecognized format specifier [level]
ERROR StatusLogger Unrecognized conversion specifier [level] starting at position 35 in conversion pattern.
ERROR StatusLogger Unrecognized format specifier [logger]
ERROR StatusLogger Unrecognized conversion specifier [logger] starting at position 47 in conversion pattern.
ERROR StatusLogger Unrecognized format specifier [msg]
ERROR StatusLogger Unrecognized conversion specifier [msg] starting at position 54 in conversion pattern.
ERROR StatusLogger Unrecognized format specifier [n]
ERROR StatusLogger Unrecognized conversion specifier [n] starting at position 56 in conversion pattern.
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.
ERROR StatusLogger Unrecognized format specifier [d]
ERROR StatusLogger Unrecognized conversion specifier [d] starting at position 16 in conversion pattern.
ERROR StatusLogger Unrecognized format specifier [thread]
ERROR StatusLogger Unrecognized conversion specifier [thread] starting at position 25 in conversion pattern.
ERROR StatusLogger Unrecognized format specifier [level]
ERROR StatusLogger Unrecognized conversion specifier [level] starting at position 35 in conversion pattern.
ERROR StatusLogger Unrecognized format specifier [logger]
ERROR StatusLogger Unrecognized conversion specifier [logger] starting at position 47 in conversion pattern.
ERROR StatusLogger Unrecognized format specifier [msg]
ERROR StatusLogger Unrecognized conversion specifier [msg] starting at position 54 in conversion pattern.
ERROR StatusLogger Unrecognized format specifier [n]
ERROR StatusLogger Unrecognized conversion specifier [n] starting at position 56 in conversion pattern.
ja nie rozumiem tego błędu. To pokazuje, że plik konfiguracyjny log4j2 nie zostanie znaleziony, ale również narzekać pewnym formacie, który jest prawdopodobnie w pliku konfiguracyjnym
Moja konfiguracja to:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="off">
<Appenders>
<Console name="console" target="SYSTEM_OUT">
<PatternLayout pattern="%d [%t] %-5p - %-26.26c{1} - %m\n" />
</Console>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="console" />
</Root>
<Logger name="my.package" level="DEBUG" />
</Loggers>
</Configuration>
i znajduje się w katalogu głównym pliku jar.
UPDATE
słoik jest tworzony przez cień Maven plugin:
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
więc zawiera on wszystkie niezbędne biblioteki (około 23 MB), a gdy ten słoik po prostu trzeba podać argumenty
można podano kilka informacji o tym, jak zbudować plik jar - jest to słoik tłuszczu, lub jeśli nie, to w jaki sposób podać ścieżkę klasy kiedy go wykonać? – sfThomas
Mam do czynienia z tym samym problemem podczas budowania słoika tłuszczu za pomocą "maven-assembly-plugin" możesz coś zasugerować? –