Внешний файл log4j.xml

Я пытаюсь выполнить банку с файлом log4j.xml в файловой системе вне банки как так:

java -jar MyJarName.jar -cp=/opt/companyName/pathToJar/ log4j.configuration=log4j.xml argToJar1 argToJar2

Я также попробовал:

java -jar MyJarName.jar -cp=/opt/companyName/pathToJar/ log4j.configuration=/opt/companyName/pathToJar/log4j.xml argToJar1 argToJar2

log4j.xml является файлом, находится в том же каталоге как банка (/opt/companyName/pathToJar/), все же я все еще получаю стандартное предупреждающее сообщение:

log4j:WARN No appenders could be found for logger (org.apache.axis.i18n.ProjectResourceBundle).
log4j:WARN Please initialize the log4j system properly.

Действительно ли возможно иметь файл конфигурации вне банки, или я должен упаковать его с банкой?

TIA

41
задан javamonkey79 7 April 2010 в 17:51
поделиться

4 ответа

При использовании переключателя -jar для запуска исполняемого файла jar путь к классам получается из манифеста файла jar. Переключатель -cp , если он задан, игнорируется.

Ответ Джеффа Стори будет самым простым решением. В качестве альтернативы вы можете добавить атрибут Class-Path в манифест файла jar .

ИЗМЕНИТЬ Попробуйте включить отладку log4j и сделать путь к log4j.xml полным URL. Например:

java -Dlog4j.debug -Dlog4j.configuration=file:/path/to/log4j.xml -jar ...
52
ответ дан 27 November 2019 в 00:21
поделиться

У вас попробовал java -Dlog4j.configuration = / path / to / log4j.xml -jar

8
ответ дан 27 November 2019 в 00:21
поделиться

«-jar» использует только путь к классам внутри исполняемого jar-файла, а -cp игнорируется. Добавление "." к пути к классам в исполняемом jar-файле должен разрешить загрузку log4j.xml.

0
ответ дан 27 November 2019 в 00:21
поделиться

это работает:

java -jar -Dlog4j.configuration="file:d:\log4j.xml" myjar.jar
18
ответ дан 27 November 2019 в 00:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: