Я использую log4j для моих целей ведения журнала. Чтобы настроить все, я создал log4j.xml, который находится за пределами jar-файла. Он отлично работает, но дает проблемы, когда jar-файл не выполняется из того же каталога, где находится log4j.xml.Загрузить файл из той же директории, что и jar-файл
Пример: баночка-файл находится в /opt/myapp/test.jar
[email protected]:/opt/myapp$ java -jar test.jar
отлично работает, но когда я пытаюсь это:
[email protected]:~$ java -jar /opt/myapp/test.jar
Я получаю сообщение об ошибке, что log4j.xml Не может быть найдено. Это потому, что он ищет его в моем текущем рабочем каталоге.
У меня также есть файл свойств, который я использую в своем приложении. Этот файл находится в каталоге config /, где находится jar-файл, поэтому/opt/myapp/config в этом примере. Такая же проблема, как и выше, возникает при попытке загрузить файл конфигурации.
Как я могу позволить Java загружать файл из каталога, в котором находится jar-файл (независимо от того, где выполняется банка)?
Возможно что-то очень легко, но я не могу понять :(
Вы можете использовать абсолютный путь? Также вы выполняете свой код в среде IDE? – buymypies
Возможный дубликат файла [Fetch из определенного каталога, в котором размещен файл jar] (http://stackoverflow.com/questions/6247845/fetch-file-from-specific-directory-where-jar-file-is-placed) –